Example #1
0
        /*==================================================================================================================================
        * Public Methods
        *=================================================================================================================================*/

        #region CRUD
        //----------------------------------------------------------------------------------------------------------------------------------
        // CRUD
        //----------------------------------------------------------------------------------------------------------------------------------
        public questStatus Save(GroupEditorViewModel groupEditorViewModel)
        {
            // Initialize
            questStatus status = null;


            // Transfer model
            Quest.Functional.ASM.Group group = new Quest.Functional.ASM.Group();
            BufferMgr.TransferBuffer(groupEditorViewModel, group);


            // Determine if this is a create or update
            GroupsMgr groupsMgr = new GroupsMgr(this.UserSession);

            if (groupEditorViewModel.Id < BaseId.VALID_ID)
            {
                // Create
                GroupId groupId = null;
                status = groupsMgr.Create(group, out groupId);
                if (!questStatusDef.IsSuccess(status))
                {
                    FormatErrorMessage(status, groupEditorViewModel);
                    return(status);
                }
                groupEditorViewModel.Id = groupId.Id;
            }
            else
            {
                // Update
                status = groupsMgr.Update(group);
                if (!questStatusDef.IsSuccess(status))
                {
                    FormatErrorMessage(status, groupEditorViewModel);
                    return(status);
                }
            }
            return(new questStatus(Severity.Success));
        }