public partial class CMSWebParts_MyWebParts_EditObject : CMSAbstractWebPart
{
public string Class
{
get
{
return ValidationHelper.GetString(GetValue("Class"), "");
}
set
{
SetValue("Class", value);
}
}
public string Layout
{
get
{
return ValidationHelper.GetString(GetValue("Layout"), "");
}
set
{
SetValue("Layout", value);
}
}
protected override void OnInit(EventArgs e)
{
var id = -1;
if (!string.IsNullOrEmpty(Request.QueryString["id"]))
{
id = int.Parse(Request.QueryString["id"]);
}
var obj = ObjectTypeManager.GetTypeInfo(this.Class);
BaseInfo bi = null;
if (id > 0)
{
var editObj = new ObjectQuery(this.Class)
.WhereID(obj.ClassStructureInfo.IDColumn, id)
.FirstOrDefault();
bi = (BaseInfo)editObj;
}
else
{
var newObj = Activator.CreateInstance(obj.InfoType);
bi = (BaseInfo)newObj;
}
EditForm.EditedObject = bi;
EditForm.Mode = id > 0 ? FormModeEnum.Update : FormModeEnum.Insert;
EditForm.ObjectSiteID = SiteContext.CurrentSiteID;
EditForm.ObjectType = this.Class;
EditForm.MessagesPlaceHolder = new CMS.ExtendedControls.MessagesPlaceHolder();
EditForm.AlternativeFormName = AlternativeFormInfoProvider.GetAlternativeFormInfo(this.Layout).FormName;
}
public override void OnContentLoaded()
{
base.OnContentLoaded();
SetupControl();
}
protected void SetupControl()
{
if (StopProcessing)
{
EditForm.StopProcessing = true;
}
}
}
Roman Hutnyk