public ActionResult ModalPartialSendView(SendIncidentRequestViewModel model)
        {
            RequestHistory requestHistory = db.RequestHistories.Where(m => m.requestId == model.ID).FirstOrDefault();
            Request        request        = db.Requests.FirstOrDefault(m => m.requestId == requestHistory.requestId);

            string statusState;
            string approvalMessage = "0";

            if (model.NeedsApproval == "1")
            {
                statusState = "Waiting for approval";
                if (model.ApprovalType == "0")
                {
                    approvalMessage = "1";
                }
                else
                {
                    approvalMessage = User.Identity.Name;
                }
            }
            else
            {
                statusState = "Pending";
            }


            string dep = request.departmentAssigned;

            request.departmentAssigned = model.Category;
            if (model.NeedsApproval != null && model.NeedsApproval != "0" && model.NeedsApproval != "1")
            {
                request.employeeAssigned = model.NeedsApproval;
                statusState = "In Progress";
            }
            else
            {
                request.employeeAssigned = null;
            }

            db.SaveChanges();

            RequestHistory newrequestHistory = new RequestHistory
            {
                requestId = model.ID,
                from      = dep,
                to        = model.Category,
                data      = DateTime.Now,
                message   = model.Message,
                approval  = approvalMessage,
                status    = statusState
            };

            db.RequestHistories.Add(newrequestHistory);
            db.SaveChanges();

            return(RedirectToAction("Dashboard"));
        }
        public ActionResult ModalPartialSendView(int?userid)
        {
            List <RequestHistory> request = db.RequestHistories.Where(m => m.requestId == userid).ToList();

            request = request.OrderByDescending(d => d.data).ToList();

            string mode = request.First().approval;

            SendIncidentRequestViewModel model = new SendIncidentRequestViewModel();

            if (userid != null)
            {
                model.ID = Int32.Parse(userid.ToString());
            }
            List <Department> departments = db.Departments.ToList();

            if (mode != "0" && mode != null)
            {
                if (mode == "1")
                {
                    model.modalType = 1;
                }
                else
                {
                    string to = mode;
                    ViewBag.to = to;

                    model.modalType = 2;
                }
                foreach (var d in departments)
                {
                    if (d.name == request.First().from)
                    {
                        model.departmentsList.Add(new SelectListItem {
                            Text = d.name, Value = d.name.ToString()
                        });
                        break;
                    }
                }
            }
            else
            {
                model.modalType = 0;
                foreach (var d in departments)
                {
                    model.departmentsList.Add(new SelectListItem {
                        Text = d.name, Value = d.name.ToString()
                    });
                }
            }
            return(PartialView(model));
        }
        public ActionResult ModalPartialSendView(SendIncidentRequestViewModel model)
        {
            RequestHistory requestHistory = db.RequestHistories.Where(m => m.requestId == model.ID).FirstOrDefault();
            Request        request        = db.Requests.FirstOrDefault(m => m.requestId == requestHistory.requestId);


            int?fileresult = null;

            DatabaseConnection.File fileDb = null;
            if (model.file?.ContentLength > 0)
            {
                try
                {
                    string path = Path.Combine(Server.MapPath("~/Files"),
                                               Path.GetFileName(model.file.FileName));
                    model.file.SaveAs(path);

                    fileDb = new DatabaseConnection.File
                    {
                        fileName = model.file.FileName,
                        fileType = model.file.ContentType
                    };
                    fileresult = fileDb.fileId;

                    db.Files.Add(fileDb);
                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    ViewBag.Message = "ERROR:" + ex.Message;
                }
            }

            string statusState;
            string approvalMessage = "0";

            if (model.NeedsApproval == "1")
            {
                statusState = "Waiting for approval";
                if (model.ApprovalType == "0")
                {
                    approvalMessage = "1";
                }
                else
                {
                    approvalMessage = User.Identity.Name;
                }
            }
            else
            {
                statusState = "Pending";
            }


            string dep = request.departmentAssigned;

            request.departmentAssigned = model.Category;
            if (model.NeedsApproval != null && model.NeedsApproval != "0" && model.NeedsApproval != "1")
            {
                request.employeeAssigned = model.NeedsApproval;
                statusState = "In Progress";
            }
            else
            {
                request.employeeAssigned = null;
            }

            db.SaveChanges();

            //int? f= fileDb.fileId;
            RequestHistory newrequestHistory = new RequestHistory
            {
                requestId = model.ID,
                from      = dep,
                to        = model.Category,
                data      = DateTime.Now,
                message   = model.Message,
                approval  = approvalMessage,
                status    = statusState,
            };

            try
            {
                newrequestHistory.attachmentsId = fileDb.fileId;
            }catch (Exception e)
            {
                Console.WriteLine("Nothing attacheed");
            }
            db.RequestHistories.Add(newrequestHistory);
            db.SaveChanges();

            return(RedirectToAction("Dashboard"));
        }