Exemple #1
0
        public async Task <ActionResult> Create([Bind(Include = "Id,TicketId,FileUrl,Description")] TicketAttachment ticketAttachment, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                if (ImageUploadValidator.IsWebFriendlyFile(file))
                {
                    var fileName = Path.GetFileName(file.FileName);
                    file.SaveAs(Path.Combine(Server.MapPath("~/MyImages/"), fileName));
                    ticketAttachment.FileUrl = "/MyImages/" + fileName;
                }

                ticketAttachment.UserId  = User.Identity.GetUserId();
                ticketAttachment.Created = DateTime.Now;
                db.TicketAttachments.Add(ticketAttachment);
                db.SaveChanges();

                await ticketHelper.AddTicketNotification(ticketAttachment);

                ViewBag.PreviousUrl = System.Web.HttpContext.Current.Request.UrlReferrer.ToString();
                return(Redirect(ViewBag.PreviousUrl));
            }

            //ViewBag.TicketId = new SelectList(db.Tickets, "Id", "Title", ticketAttachment.TicketId);
            //ViewBag.UserId = new SelectList(db.Users, "Id", "FirstName", ticketAttachment.UserId);
            return(View(ticketAttachment));
        }
Exemple #2
0
        public ActionResult Create([Bind(Include = "TicketId,Description")] TicketAttachment ticketAttachment, HttpPostedFileBase attachment)
        {
            if (ModelState.IsValid)
            {
                if (attachment != null)
                {
                    if (ImageUploadValidator.IsWebFriendlyImage(attachment) || ImageUploadValidator.IsWebFriendlyFile(attachment))
                    {
                        var fileName     = Path.GetFileName(attachment.FileName);
                        var justFileName = Path.GetFileNameWithoutExtension(fileName);
                        var ticketId     = ticketAttachment.TicketId;

                        justFileName = StringUtilities.URLFriendly(justFileName);
                        fileName     = $"{justFileName}_{DateTime.Now.Ticks}{Path.GetExtension(fileName)}";
                        attachment.SaveAs(Path.Combine(Server.MapPath("~/Uploads/"), fileName));
                        ticketAttachment.FilePath = "/Uploads/" + fileName;
                        ticketAttachment.Created  = DateTime.Now;
                        ticketAttachment.UserId   = User.Identity.GetUserId();


                        //=========================== Ticket History =======================================
                        var oldTicket = db.Tickets.AsNoTracking().FirstOrDefault(t => t.Id == ticketId);

                        oldTicket.Updated = DateTime.Now;
                        //ticketAttachment.Ticket.Updated = DateTime.Now;
                        db.Entry(oldTicket).State = EntityState.Modified;

                        var newTicket = db.Tickets.AsNoTracking().FirstOrDefault(t => t.Id == ticketId);

                        auditHelper.RecordHistoricalChanges(oldTicket, newTicket);
                        notificationHelper.SendNotification(newTicket, $"There is a new attachment for <b>Ticket</b> #{newTicket.Id}, for the <b>{newTicket.Project.Name}</b>.");   // create notification
                        //===================================================================================

                        db.TicketAttachments.Add(ticketAttachment);

                        if (!roleHelper.IsUserDemo())
                        {
                            db.SaveChanges();
                        }
                    }
                }
                //Response.Redirect(Request.RawUrl);
                return(RedirectToAction("Details", "Tickets", new { id = ticketAttachment.TicketId }));
            }
            return(View(ticketAttachment));
        }
Exemple #3
0
        public ActionResult Edit([Bind(Include = "Id,TicketId,FileUrl,Description,Created,UserId")] TicketAttachment ticketAttachment, HttpPostedFileBase file, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                if (ImageUploadValidator.IsWebFriendlyFile(file))
                {
                    var fileName = Path.GetFileName(file.FileName);
                    file.SaveAs(Path.Combine(Server.MapPath("~/MyImages/"), fileName));
                    ticketAttachment.FileUrl = "/MyImages/" + fileName;
                }

                ticketAttachment.UserId          = User.Identity.GetUserId();
                db.Entry(ticketAttachment).State = EntityState.Modified;
                db.SaveChanges();
                return(Redirect(returnUrl));
            }
            ViewBag.TicketId = new SelectList(db.Tickets, "Id", "Title", ticketAttachment.TicketId);
            ViewBag.UserId   = new SelectList(db.Users, "Id", "FirstName", ticketAttachment.UserId);
            return(View(ticketAttachment));
        }