Ejemplo n.º 1
0
        internal IFacadeUpdateResult <DomainData> SaveDomainMainMenu(object parentId, DomainMainMenuDto 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>();
                DomainMainMenu child  = RetrieveOrNewDomainMainMenu(parent, childDto.Id);
                if (child != null)
                {
                    child.MainMenuId = childDto.MainMenuId;
                    child.Sort       = childDto.Sort;

                    var saveQuery = service.Save(parent);
                    result.Merge(saveQuery);
                    result.AttachResult(parent.RetrieveData <DomainData>());
                }
                else
                {
                    AddError(result.ValidationResult, "DomainMainMenuCannotBeFound");
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        internal IFacadeUpdateResult <DomainData> DeleteDomainMainMenu(object parentId, object childId)
        {
            ArgumentValidator.IsNotNull("parentId", parentId);
            ArgumentValidator.IsNotNull("childId", childId);

            FacadeUpdateResult <DomainData> result = new FacadeUpdateResult <DomainData>();
            IDomainService service = UnitOfWork.GetService <IDomainService>();
            var            query   = service.Retrieve(parentId);

            if (query.HasResult)
            {
                Domain         parent = query.ToBo <Domain>();
                DomainMainMenu child  = parent.DomainMainMenus.SingleOrDefault(o => object.Equals(o.Id, childId));
                if (child != null)
                {
                    parent.DomainMainMenus.Remove(child);
                    var saveQuery = parent.Save();
                    result.Merge(saveQuery);
                    result.AttachResult(parent.RetrieveData <DomainData>());
                }
                else
                {
                    AddError(result.ValidationResult, "DomainMainMenuCannotBeFound");
                }
            }
            else
            {
                AddError(result.ValidationResult, "DomainCannotBeFound");
            }

            return(result);
        }
Ejemplo n.º 3
0
        internal DomainMainMenu RetrieveOrNewDomainMainMenu(Domain parent, object childId)
        {
            DomainMainMenu child = null;

            if (childId != null)
            {
                child = parent.DomainMainMenus.SingleOrDefault(o => object.Equals(o.Id, childId));
            }
            else
            {
                child = parent.DomainMainMenus.AddNewBo();
            }

            return(child);
        }