public IFacadeUpdateResult <DomainData> SaveDomainSetupMenu(object parentId, DomainSetupMenuDto childDto) { UnitOfWork.BeginTransaction(); IFacadeUpdateResult <DomainData> result = DomainSystem.SaveDomainSetupMenu(parentId, childDto); if (result.IsSuccessful) { UnitOfWork.CommitTransaction(); } else { UnitOfWork.RollbackTransaction(); } return(result); }
protected void ucIDetail_ChildListInstanceRowSaving(object sender, InstanceRowSavingEventArgs e) { using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey)) { DomainFacade facade = new DomainFacade(uow); switch ((InstanceTypes)Enum.Parse(typeof(InstanceTypes), e.InstanceType)) { case InstanceTypes.DomainMainMenu: DomainMainMenuDto itemDto = e.Instance as DomainMainMenuDto; // Save data IFacadeUpdateResult <DomainData> result1 = facade.SaveDomainMainMenu(CurrentInstance.Id, itemDto); e.IsSuccessful = result1.IsSuccessful; if (result1.IsSuccessful) { // Refresh DomainDto savedParentInstance = result1.ToDto(new DomainConverter()); CurrentInstance.DomainMainMenus = savedParentInstance.DomainMainMenus; } else { // Deal with Update result ProcUpdateResult(result1.ValidationResult, result1.Exception); } break; case InstanceTypes.DomainSetupMenu: DomainSetupMenuDto itemDto2 = e.Instance as DomainSetupMenuDto; // Save data IFacadeUpdateResult <DomainData> result2 = facade.SaveDomainSetupMenu(CurrentInstance.Id, itemDto2); e.IsSuccessful = result2.IsSuccessful; if (result2.IsSuccessful) { // Refresh DomainDto savedParentInstance = result2.ToDto(new DomainConverter()); CurrentInstance.DomainSetupMenus = savedParentInstance.DomainSetupMenus; } else { // Deal with Update result ProcUpdateResult(result2.ValidationResult, result2.Exception); } break; } } }
internal IFacadeUpdateResult <DomainData> SaveDomainSetupMenu(object parentId, DomainSetupMenuDto childDto) { ArgumentValidator.IsNotNull("parentId", parentId); ArgumentValidator.IsNotNull("childDto", childDto); FacadeUpdateResult <DomainData> result = new FacadeUpdateResult <DomainData>(); IDomainService service = UnitOfWork.GetService <IDomainService>(); var parentQuery = service.Retrieve(parentId); if (parentQuery.HasResult) { Domain parent = parentQuery.ToBo <Domain>(); DomainSetupMenu child = RetrieveOrNewDomainSetupMenu(parent, childDto.Id); if (child != null) { child.SetupMenuId = childDto.SetupMenuId; child.Sort = childDto.Sort; var saveQuery = service.Save(parent); result.Merge(saveQuery); result.AttachResult(parent.RetrieveData <DomainData>()); } else { AddError(result.ValidationResult, "DomainSetupMenuCannotBeFound"); } } return(result); }