コード例 #1
0
        public ActionResult SetDuedate(HdRequestChangeStatusModel hdReqChngStatus)
        {
            try
            {
                User fromUser = _userServices.FindById(hdReqChngStatus.FromUserId);

                if (fromUser != null)
                {
                    HelpdeskRequest hdRequest = _hdReqServices.FindById(hdReqChngStatus.HdReqId);

                    if (hdRequest.Status != (int)StatusEnum.Done && hdRequest.Status != (int)StatusEnum.Close && fromUser.RoleId == SLIM_CONFIG.USER_ROLE_MANAGER)
                    {
                        HelpdeskRequestLog hdRequestLog = new HelpdeskRequestLog();
                        hdRequestLog.StatusFrom        = (int)StatusEnum.ChangeDueDate;
                        hdRequestLog.StatusTo          = (int)StatusEnum.ChangeDueDate;
                        hdRequestLog.ChangeFromUserId  = fromUser.Id;
                        hdRequestLog.HelpdeskRequestId = hdRequest.Id;
                        hdRequestLog.AssignToUserId    = fromUser.Id;
                        hdRequestLog.DeadLine          = DateTime.ParseExact(hdReqChngStatus.DueDate, AmsConstants.DateTimeFormat, CultureInfo.CurrentCulture);
                        hdRequestLog.CreateDate        = DateTime.Now;

                        hdRequest.DueDate    = DateTime.ParseExact(hdReqChngStatus.DueDate, AmsConstants.DateTimeFormat, CultureInfo.CurrentCulture);
                        hdRequest.ModifyDate = DateTime.Now;

                        _hdReqServices.Update(hdRequest);
                        _helpdeskRequestLogServices.Add(hdRequestLog);

                        return(RedirectToAction("ViewHdRequestDetail", new { hdReqId = hdRequest.Id, userId = fromUser.Id }));
                    }
                }
            }
            catch (Exception)
            {
                return(RedirectToAction("ViewHistoryHdRequest", new { userId = hdReqChngStatus.FromUserId }));
            }/*Return to main page*/

            return(RedirectToAction("ViewHistoryHdRequest", new { userId = hdReqChngStatus.FromUserId }));
        }
コード例 #2
0
        public ActionResult AssignTask(HdRequestChangeStatusModel hdReqChngStatus)
        {
            try
            {
                User fromUser = _userServices.FindById(hdReqChngStatus.FromUserId);
                User toUser   = _userServices.FindById(hdReqChngStatus.ToUserId);

                if (fromUser != null && toUser != null)
                {
                    HelpdeskRequest hdRequest = _hdReqServices.FindById(hdReqChngStatus.HdReqId);

                    if (hdRequest.Status != (int)StatusEnum.Done && hdRequest.Status != (int)StatusEnum.Close)
                    {
                        HelpdeskRequestLog hdRequestLog = new HelpdeskRequestLog();

                        if (hdRequest.Status == (int)StatusEnum.Open)
                        {
                            hdRequest.Status = (int)StatusEnum.Processing;

                            hdRequestLog.StatusFrom = (int)StatusEnum.Open;
                            hdRequestLog.StatusTo   = (int)StatusEnum.Processing;

                            hdRequestLog.ChangeFromUserId  = fromUser.Id;
                            hdRequestLog.HelpdeskRequestId = hdRequest.Id;
                            hdRequestLog.AssignToUserId    = toUser.Id;

                            hdRequestLog.CreateDate = DateTime.Now;
                            _helpdeskRequestLogServices.Add(hdRequestLog);
                        }
                        hdRequestLog.StatusFrom = (int)StatusEnum.AssignTask;
                        hdRequestLog.StatusTo   = (int)StatusEnum.AssignTask;

                        hdRequest.ModifyDate  = DateTime.Now;
                        hdRequest.SupporterId = toUser.Id;
                        _hdReqServices.Update(hdRequest);

                        hdRequestLog.ChangeFromUserId  = fromUser.Id;
                        hdRequestLog.HelpdeskRequestId = hdRequest.Id;
                        hdRequestLog.AssignToUserId    = toUser.Id;

                        hdRequestLog.CreateDate = DateTime.Now;
                        _helpdeskRequestLogServices.Add(hdRequestLog);
                        //Add notification - AnTT - 09/07/2016 - START
                        NotificationService notificationService = new NotificationService();
                        if (hdRequest.House != null)
                        {
                            List <User> memberInHouse = hdRequest.House.Users.ToList();
                            foreach (User user in memberInHouse)
                            {
                                notificationService.addNotification(SLIM_CONFIG.NOTIC_TARGET_OBJECT_HELPDESK_REQUEST, user.Id, SLIM_CONFIG.NOTIC_VERB_ASSIGN_REQUEST, fromUser.Id, hdRequestLog.Id);
                            }
                        }

                        //Add notification - AnTT - 09/07/2016 - END
                        return(RedirectToAction("ViewHdRequestDetail", new { hdReqId = hdRequest.Id, userId = fromUser.Id }));
                    }
                }
            }
            catch (Exception)
            {
                return(RedirectToAction("ViewHistoryHdRequest", new { userId = hdReqChngStatus.FromUserId }));
            }/*Return to main page*/

            return(RedirectToAction("ViewHistoryHdRequest", new { userId = hdReqChngStatus.FromUserId }));
        }
コード例 #3
0
        public ActionResult UpdateStatusHdRequest(HdRequestChangeStatusModel hdReqChngStatus)
        {
            try
            {
                User fromUser = _userServices.FindById(hdReqChngStatus.FromUserId);
                User toUser   = _userServices.FindById(hdReqChngStatus.ToUserId);

                if (fromUser != null)
                {
                    HelpdeskRequest hdRequest = _hdReqServices.FindById(hdReqChngStatus.HdReqId);
                    if (null != hdRequest)
                    {
                        bool statusIsChange = true;
                        if (hdRequest.Status == (int)StatusEnum.Open &&
                            hdReqChngStatus.FromStatus == hdRequest.Status &&
                            hdReqChngStatus.ToStatus == (int)StatusEnum.Processing
                            )
                        {
                            hdRequest.Status     = (int)StatusEnum.Processing;
                            hdRequest.ModifyDate = DateTime.Now;
                            _hdReqServices.Update(hdRequest);
                        }
                        else if (hdRequest.Status == (int)StatusEnum.Processing &&
                                 hdReqChngStatus.FromStatus == hdRequest.Status &&
                                 hdReqChngStatus.ToStatus == (int)StatusEnum.Done)
                        {
                            hdRequest.Status     = (int)StatusEnum.Done;
                            hdRequest.ModifyDate = DateTime.Now;
                            hdRequest.DoneDate   = DateTime.Now;
                            //                            hdRequest.Price = hdReqChngStatus.Price;
                            //                            hdRequest.DueDate = DateTime.Parse(hdReqChngStatus.DueDate);
                            /*Add them giá vào đây*/
                            _hdReqServices.Update(hdRequest);
                        }
                        else if (hdRequest.Status == (int)StatusEnum.Done &&
                                 hdReqChngStatus.FromStatus == hdRequest.Status &&
                                 hdReqChngStatus.ToStatus == (int)StatusEnum.Close)
                        {
                            hdRequest.Status     = (int)StatusEnum.Close;
                            hdRequest.CloseDate  = DateTime.Now;
                            hdRequest.ModifyDate = DateTime.Now;
                            _hdReqServices.Update(hdRequest);
                        }
                        else if (hdReqChngStatus.ToStatus == (int)StatusEnum.Cancel)
                        {
                            bool isOk = false;
                            if (fromUser.RoleId == SLIM_CONFIG.USER_ROLE_MANAGER &&
                                (hdRequest.Status == (int)StatusEnum.Open || hdRequest.Status == (int)StatusEnum.Processing))
                            {
                                isOk = true;
                            }
                            else if (fromUser.RoleId == SLIM_CONFIG.USER_ROLE_RESIDENT || fromUser.RoleId == SLIM_CONFIG.USER_ROLE_HOUSEHOLDER &&
                                     (hdRequest.Status == (int)StatusEnum.Open || hdRequest.Status == (int)StatusEnum.Processing))
                            {
                                isOk = true;
                            }
                            if (isOk)
                            {
                                hdRequest.Status     = (int)StatusEnum.Cancel;
                                hdRequest.ModifyDate = DateTime.Now;
                                _hdReqServices.Update(hdRequest);
                            }
                            else
                            {
                                statusIsChange = false;
                            }
                        }
                        if (statusIsChange)
                        {
                            HelpdeskRequestLog hdRequestLog = new HelpdeskRequestLog();
                            hdRequestLog.ChangeFromUserId  = fromUser.Id;
                            hdRequestLog.HelpdeskRequestId = hdRequest.Id;
                            //                        hdRequestLog.ChangeToUserId = toUser.Id;
                            hdRequestLog.StatusFrom = hdReqChngStatus.FromStatus;
                            hdRequestLog.StatusTo   = hdReqChngStatus.ToStatus;
                            hdRequestLog.CreateDate = DateTime.Now;
                            _helpdeskRequestLogServices.Add(hdRequestLog);
                            //                        hdReqId, String userId
                        }

                        return(RedirectToAction("ViewHdRequestDetail", new { hdReqId = hdRequest.Id, userId = fromUser.Id }));
                    }
                    else
                    {
                        return(RedirectToAction("ViewHistoryHdRequest", new { userId = fromUser }));
                    }// return message not found.
                }
                /*Else return to main page*/
            }
            catch (Exception)
            {
                return(RedirectToAction("ViewHistoryHdRequest", new { userId = hdReqChngStatus.FromUserId }));
            }/*Return to main page*/

            return(RedirectToAction("ViewHistoryHdRequest", new { userId = hdReqChngStatus.FromUserId }));
        }