internal IFacadeUpdateResult <DEntityData> SaveDEntityItem(object parentId, DEntityItemDto childDto) { ArgumentValidator.IsNotNull("parentId", parentId); ArgumentValidator.IsNotNull("childDto", childDto); FacadeUpdateResult <DEntityData> result = new FacadeUpdateResult <DEntityData>(); IDEntityService service = UnitOfWork.GetService <IDEntityService>(); var parentQuery = service.Retrieve(parentId); if (parentQuery.HasResult) { DEntity parent = parentQuery.ToBo <DEntity>(); DEntityItem child = RetrieveOrNewDEntityItem(parent, childDto.Id); if (child != null) { child.Text = childDto.Text; child.Value = childDto.Value; var saveQuery = service.Save(parent); result.Merge(saveQuery); result.AttachResult(parent.RetrieveData <DEntityData>()); } else { AddError(result.ValidationResult, "DEntityItemCannotBeFound"); } } return(result); }
private IFacadeUpdateResult <DEntityData> SaveDEntityItem(object entityId, DEntityItemDto item) { using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey)) { DEntityFacade facade = new DEntityFacade(uow); IFacadeUpdateResult <DEntityData> result = facade.SaveDEntityItem(entityId, item); return(result); } }
public IFacadeUpdateResult <DEntityData> SaveDEntityItem(object entityId, DEntityItemDto item) { UnitOfWork.BeginTransaction(); IFacadeUpdateResult <DEntityData> result = DEntitySystem.SaveDEntityItem(entityId, item); if (result.IsSuccessful) { UnitOfWork.CommitTransaction(); } else { UnitOfWork.RollbackTransaction(); } return(result); }
protected void childList_InstanceRowSaving(object sender, InstanceRowSavingEventArgs e) { if (e.InstanceType == ChildListType.EntityItem.ToString()) { DEntityItemDto item = e.Instance as DEntityItemDto; IFacadeUpdateResult <DEntityData> result = SaveDEntityItem(CurrentDEntity.Id, item); e.IsSuccessful = result.IsSuccessful; if (result.IsSuccessful) { // Refresh data in session RetrieveData(); } else { ProcUpdateResult(result.ValidationResult, result.Exception); } } }