public FileResult Download(int id)
 {
     DatabaseConnection.File file = db.Files.Where(m => m.fileId == id).FirstOrDefault();
     return(File("~\\Files\\" + file.fileName, file.fileType, file.fileName));
 }
        public ActionResult ModalPartialDone(ModalPartialDoneViewModel model)
        {
            Request request = db.Requests.Where(m => m.requestId == model.Id).FirstOrDefault();
            List <RequestHistory> requestHistory = db.RequestHistories.Where(m => m.requestId == request.requestId).ToList();



            int?fileresult = null;

            DatabaseConnection.File fileDb = null;
            if (model.File != null && 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
                    };


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


            RequestHistory lastRequest = new RequestHistory
            {
                from          = requestHistory.Last().to,
                to            = requestHistory.First().from,
                message       = model.Message,
                data          = DateTime.Now,
                status        = "Done",
                approval      = "0",
                requestId     = request.requestId,
                attachmentsId = fileresult
            };

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

            //_emailService.SendEmail(new EmailMessage()
            //{
            //    body = "this is a test",
            //    recieverAddress = "*****@*****.**",
            //    recieverName = "Bogdan Tereanu",
            //    subject = "test email"
            //});

            return(RedirectToAction("Dashboard"));
        }
        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"));
        }
Exemple #4
0
        public async Task <ActionResult> Create(IncidentRequestViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (TehnicalDepartmentDb db = new TehnicalDepartmentDb())
                {
                    string CreatedByName           = User.Identity.Name;
                    int    CreatedById             = db.Users.FirstOrDefault(u => u.username == CreatedByName).userId;
                    int?   fileval                 = null;
                    DatabaseConnection.File fileDb = null;
                    if (model.file != null && 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
                            };


                            db.Files.Add(fileDb);
                            await db.SaveChangesAsync();

                            fileval = fileDb.fileId;
                        }
                        catch (Exception ex)
                        {
                            ViewBag.Message = "ERROR:" + ex.Message.ToString();
                        }
                    }
                    else
                    {
                        ViewBag.Message = "You have not specified a file.";
                        fileval         = null;
                    }



                    Request request = new Request
                    {
                        createdBy          = CreatedById,
                        title              = model.title,
                        description        = model.description,
                        type               = model.type == "0" ? false : true,
                        departmentAssigned = model.departmentAssigned,
                        fileId             = fileval,
                        employeeAssigned   = null,
                        priority           = model.priority,
                    };
                    db.Requests.Add(request);
                    await db.SaveChangesAsync();

                    List <Request> newRequestList = db.Requests.Where(u => u.createdBy == CreatedById).ToList();
                    List <Request> newRequestListDescendingOrder = newRequestList.OrderByDescending(u => u.requestId).ToList();
                    int            newRequestId   = newRequestListDescendingOrder.First().requestId;
                    RequestHistory requestHistory = new RequestHistory
                    {
                        requestId = newRequestId,
                        from      = CreatedByName,
                        to        = model.departmentAssigned,
                        data      = DateTime.Now,
                        status    = "Pending"
                    };

                    db.RequestHistories.Add(requestHistory);
                    await db.SaveChangesAsync();



                    return(RedirectToAction("Support"));
                }
            }

            // ViewBag.createdBy = new SelectList(db.Users, "userId", "company", request.createdBy);
            return(View(model));
        }