Пример #1
0
        public ActionResult AddHdRequest(HelpdeskRequestModel request)
        {
            MessageViewModels response = new MessageViewModels();

            try
            {
                User u = _userServices.FindById(request.HdReqUserId);
                HelpdeskRequestCategory hdServiceCat = _helpdeskServiceCat.FindById(request.HdServiceCatId);
                if (u != null && hdServiceCat != null)
                {
                    HelpdeskRequest hdRequest = new HelpdeskRequest();

                    hdRequest.HelpdeskRequestCatId = request.HdServiceCatId;
                    hdRequest.HouseId     = u.HouseId;//AnTT them vao cho nay 27-5-2016
                    hdRequest.CreateDate  = DateTime.Now;
                    hdRequest.Description = request.HdReqUserDesc;
                    hdRequest.ModifyDate  = DateTime.Now;
                    hdRequest.Status      = (int)StatusEnum.Open;
                    hdRequest.Title       = request.HdReqTitle;

                    int id = _hdReqServices.Add(hdRequest);
                    HelpdeskRequestLog log = new HelpdeskRequestLog();
                    log.ChangeFromUserId  = u.Id;
                    log.AssignToUserId    = u.Id;
                    log.HelpdeskRequestId = id;
                    log.StatusFrom        = (int)StatusEnum.Open;
                    log.StatusTo          = (int)StatusEnum.Open;
                    log.CreateDate        = DateTime.Now;
                    _helpdeskRequestLogServices.Add(log);
                }
                else
                {
                    response.StatusCode = -1;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.StackTrace);
                response.StatusCode = -1;
                return(Json(response));;
            }
            return(Json(response));
        }
Пример #2
0
        public ActionResult Detail()
        {
            int             currRequestId           = int.Parse(Request["hiddenId"]);
            int             status                  = int.Parse(Request["hiddenStatus"]);
            int             currHelpdeskSupporterId = int.Parse(Request["hiddenHelpdeskSupporterId"]);
            HelpdeskRequest currHelpdeskRequest     = _helpdeskSupporterService.GetHelpdeskRequest(currRequestId);

            bool result = _helpdeskSupporterService.UpdateStatus(currRequestId, status);

            if (result)
            {
                //if update sucessfully, log this request.
                HelpdeskRequestLog helpdeskRequestLog = new HelpdeskRequestLog();
                helpdeskRequestLog.HelpdeskRequestId = currRequestId;
                helpdeskRequestLog.ChangeFromUserId  = currHelpdeskSupporterId;
                helpdeskRequestLog.CreateDate        = DateTime.Now;
                helpdeskRequestLog.StatusFrom        = int.Parse(Request["hiddenStatusFrom"]);
                helpdeskRequestLog.StatusTo          = status;
                _helpdeskRequestLogService.Add(helpdeskRequestLog);

                if (status == 3)
                {
                    //Add notification - AnTT - 09/07/2016 - START
                    NotificationService notificationService = new NotificationService();
                    if (currHelpdeskRequest.House != null)
                    {
                        List <User> memberInHouse = currHelpdeskRequest.House.Users.ToList();
                        foreach (User user in memberInHouse)
                        {
                            notificationService.addNotification(SLIM_CONFIG.NOTIC_TARGET_OBJECT_HELPDESK_REQUEST, user.Id, SLIM_CONFIG.NOTIC_VERB_FINISH_REQUEST, currHelpdeskSupporterId, helpdeskRequestLog.Id);
                        }
                    }
                    //Add notification - AnTT - 09/07/2016 - END
                }
                ViewBag.messageSuccess = "Đã xử lý thành công!";
                return(Redirect("~/HelpdeskSupporter/Detail?currHelpdeskSupporterId=" + currHelpdeskSupporterId + "&requestId=" + currRequestId));
            }
            return(Redirect("~/View/Shared/Error"));
        }
Пример #3
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 }));
        }
Пример #4
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 }));
        }
Пример #5
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 }));
        }
Пример #6
0
 public void Update(HelpdeskRequestLog log)
 {
     logRepository.Update(log);
 }
Пример #7
0
 public void Add(HelpdeskRequestLog log)
 {
     logRepository.Add(log);
 }