Esempio n. 1
0
        public void UserRemove(Int64 UserId)
        {
            if (!CheckSessionAccess())
            {
                return;
            }

            Save(false, false);

            Boolean deleted = service.CategoryUserRemove(View.CurrentCategoryId, UserId);

            this.UpdateView(null);

            if (!deleted)
            {
                Domain.DTO.DTO_CategoryCheckResponse resp = service.CategoryUsersCheck(View.CurrentCategoryId);

                if (!resp.PreviousAssigned)
                {
                    this.InitView();
                    View.ShowForcedReassigned(resp);
                    return;
                }
                //this.View.ShowReassignError(Domain.Enums.CategoryAssignersError.deleteError);
            }
        }
Esempio n. 2
0
        public void Save(Boolean UpdateView, Boolean SaveUsers = true)
        {
            if (!CheckSessionAccess())
            {
                return;
            }

            if (!(Module.ManageCategory || Module.Administration))
            {
                View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, this.CurrentCommunityId, ModuleTicket.InteractionType.None);

                View.ShowNoPermission();
                return;
            }

            //Se la view non è valida, non faccio nulla (la view si arrangia a mostrare gli errori (Nome vuoto)
            if (!View.Validate())
            {
                return;
            }

            lm.Comol.Core.DomainModel.Languages.LanguageItem Lang = View.PreviousLanguage;

            Domain.Category Cat = View.Category;

            Domain.Enums.CategoryAddModifyError Error = service.CategoryModify(Cat.Id, Cat.Name, Cat.Description, Cat.Type, Lang);



            Domain.Enums.CategoryAssignersError ResError = Domain.Enums.CategoryAssignersError.none;

            if (SaveUsers)
            {
                ResError = service.CategoryUserUpdate(Cat.Id, View.UsersSettings);
            }


            if (Error == Domain.Enums.CategoryAddModifyError.none)
            {
                //Begin Action
                List <KeyValuePair <int, String> > Objects = new List <KeyValuePair <int, string> >();
                Objects.Add(ModuleTicket.KVPgetPerson(this.UserContext.CurrentUserID));
                Objects.Add(ModuleTicket.KVPgetCategory(Cat.Id));

                View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.CategoryModify, this.CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects);
                //End Action
            }


            if (ResError != Domain.Enums.CategoryAssignersError.none)
            {
                Domain.DTO.DTO_CategoryCheckResponse resp = service.CategoryUsersCheck(Cat.Id);

                if (!resp.PreviousAssigned)
                {
                    if (UpdateView)
                    {
                        this.InitView();
                        //this.UpdateView(null);
                    }

                    View.ShowForcedReassigned(resp);
                    return;
                }
            }

            if (Error == Domain.Enums.CategoryAddModifyError.none)
            {
                if (UpdateView)
                {
                    this.UpdateView(null);
                }

                View.ShowReassignError(ResError);
                return;
            }
            else
            {
                //Other error
            }
        }