Ejemplo n.º 1
0
        public ActionResult EditEditor(int cAseId, int postId)
        {
            var cAse = _cAseService.Get(cAseId, VersionOptions.Latest);

            if (cAse == null)
            {
                return(HttpNotFound());
            }

            var post = _cAsePostService.Get(postId, VersionOptions.Latest);

            if (post == null)
            {
                return(HttpNotFound());
            }

            IUser   user    = _workContextAccessor.GetContext().CurrentUser;
            dynamic dynUser = user.ContentItem;


            int    unameId = user.Get <UserPart>().Id;
            string role    = string.Empty;;

            if (dynUser.UserRolesPart != null)
            {
                IEnumerable <string> usernames = dynUser.UserRolesPart.Roles;
                foreach (var unameloop in usernames)
                {
                    role = unameloop;
                    break;
                }
            }

            CasePostAttribRecord attri     = post.Get <CasePostAttribPart>().Record;
            CasePostAttribPart   attripart = post.Get <CasePostAttribPart>();

            attri.CaseAcquiredBy       = 0;
            attri.CaseAcquiredRole     = string.Empty;
            attripart.CaseAcquiredBy   = 0;
            attripart.CaseAcquiredRole = string.Empty;

            bool isMe = false;
            //Check isit accuired by me

            int userId = _workContextAccessor.GetContext().CurrentUser.Id;

            isMe = userId == attri.CaseAcquiredBy;

            if (!Services.Authorizer.Authorize(Permissions.EditCasePost, post, T("Couldn't edit cAse post")))
            {
                return(new HttpUnauthorizedResult());
            }

            CasePostStateRecord rec = new CasePostStateRecord();

            rec.CasePostPart_id     = attri.CasePostNumber;
            rec.CasePostState       = role;
            rec.CasePostStateUserId = unameId;
            rec.CasePostStateUtc    = DateTime.UtcNow;
            rec.ContentItemRecord   = (ContentItemRecord)post.Get <CasePostPart>().ContentItem.Record;
            rec.CaseAcquiredStatus  = (int)CasePostStateRecord.CaseAcquiredStateEnum.EDITORReleased;

            _cAsePostService.Acquier(rec);

            return(Edit(cAseId, postId));
        }
Ejemplo n.º 2
0
 public void UpdaetCasePostAttributes(CasePostAttribRecord attribute)
 {
     _caseAttribute.Update(attribute);
 }
Ejemplo n.º 3
0
        public ActionResult Acquier(int cAseId, int postId, string returnUrl)
        {
            var cAse = _cAseService.Get(cAseId, VersionOptions.Latest);

            if (cAse == null)
            {
                return(HttpNotFound());
            }

            var post = _cAsePostService.Get(postId, VersionOptions.Latest);

            if (post == null)
            {
                return(HttpNotFound());
            }

            if (!Services.Authorizer.Authorize(Permissions.AcquireUnpublisehdCase, post, T("Couldn't Acquier Case post")))
            {
                return(new HttpUnauthorizedResult());
            }


            IUser   user    = _workContextAccessor.GetContext().CurrentUser;
            dynamic dynUser = user.ContentItem;


            int    unameId = user.Get <UserPart>().Id;
            string role    = string.Empty;;

            if (dynUser.UserRolesPart != null)
            {
                IEnumerable <string> usernames = dynUser.UserRolesPart.Roles;
                foreach (var unameloop in usernames)
                {
                    role = unameloop;
                    break;
                }
            }
            CasePostAttribRecord attri     = post.Get <CasePostAttribPart>().Record;
            CasePostAttribPart   attripart = post.Get <CasePostAttribPart>();

            attri.CaseAcquiredBy       = unameId;
            attri.CaseAcquiredRole     = role;
            attripart.CaseAcquiredBy   = unameId;
            attripart.CaseAcquiredRole = role;


            CasePostStateRecord rec = new CasePostStateRecord();

            rec.CasePostPart_id     = attri.CasePostNumber;
            rec.CasePostState       = role;
            rec.CasePostStateUserId = unameId;
            rec.CasePostStateUtc    = DateTime.UtcNow;
            rec.ContentItemRecord   = (ContentItemRecord)post.Get <CasePostPart>().ContentItem.Record;

            if (role.Equals("Law Interns"))
            {
                rec.CaseAcquiredStatus = (int)CasePostStateRecord.CaseAcquiredStateEnum.INTERNAcquired;
            }
            if (role.Equals("Editor"))
            {
                rec.CaseAcquiredStatus = (int)CasePostStateRecord.CaseAcquiredStateEnum.EDITORAcquired;
            }
            if (role.Equals("Author"))
            {
                rec.CaseAcquiredStatus = (int)CasePostStateRecord.CaseAcquiredStateEnum.AUTHORAcquired;
            }

            _cAsePostService.Acquier(rec);
            // Validate form input
            var model = Services.ContentManager.UpdateEditor(post, this);

            if (!ModelState.IsValid)
            {
                Services.TransactionManager.Cancel();
                Services.Notifier.Information(T("Case post Failed  acquired."));
            }
            else
            {
                Services.Notifier.Information(T("Case post successfully acquired."));
            }


            return(this.RedirectLocal(returnUrl, () => RedirectToAction("List")));
        }