Esempio n. 1
0
 public int SaveNewCasePicture(CasePicture cp)
 {
     using (var context = new fyxmeContext())
     {
         context.CasePictures.Add(cp);
         return context.SaveChanges();
     }
 }
Esempio n. 2
0
 public int SaveUpdatedCasePicture(CasePicture cp)
 {
     using (var context = new fyxmeContext())
     {
         context.Entry(cp).State = EntityState.Modified;
         return context.SaveChanges();
     }
 }
Esempio n. 3
0
        public ActionResult AddRequest(RequestViewModel request)
        {
            if (ModelState.IsValid)
            {
                // Save files on server.
                string uploadDirImages = Server.MapPath(WebConfigurationManager.AppSettings["uploadPicsDirectory"].ToString());
                List<string> uploadedNewNameImages = new List<string>();

                for (int iImages = 1; iImages <= 4; iImages++)
                {
                    HttpPostedFileBase uploadedFile = Request.Files["txtUFile" + iImages];
                    if (uploadedFile != null && uploadedFile.ContentLength > 0 && Request["txtUploadPic" + iImages].Length > 0)
                    {
                        int pos = uploadedFile.FileName.LastIndexOf(".");
                        string fileExtension = uploadedFile.FileName.Substring(pos + 1);
                        string fileNewImageName = String.Concat(Guid.NewGuid().ToString(), ".", fileExtension);

                        uploadedFile.SaveAs(String.Concat(uploadDirImages, fileNewImageName));
                        uploadedNewNameImages.Add(fileNewImageName);
                    }
                }

                // Get selected CarMMY id
                int carMMYId = 0;
                if (!String.IsNullOrEmpty(request.SelectedCarModelId) && !String.IsNullOrEmpty(request.SelectedCarYearId)) {
                    carMMYId = cmRepo.GetCarMMYId(request.SelectedCarModelId, Convert.ToInt32(request.SelectedCarYearId));
                }

                // Add lead object
                // Lead
                Lead l = new Lead();
                l.FirstName = request.FirstName;
                l.LastName = request.LastName;
                l.Email = request.Email;
                l.PhoneNumber = request.PhoneNumber;
                l.ZipCode = request.ZipCode;
                l.StatusId = (int)EStatus.Received;     // Default status
                l.Origin = "Fyxme Website";             // Default origin
                l.CreatedBy = 999;                      // Added by customer
                
                // Case
                Case c = new Case();
                if (carMMYId > 0) {
                    c.CarMMYId = (int)carMMYId;
                }
                c.CaseDesc = request.DamageDescription;
                c.StatusId = (int)EStatus.Received;
                c.SalesRepId = 0;
                c.CreatedBy = 999;                      // Added by customer

                // Case pictures
                int picRank = 1;
                List<CasePicture> cp = new List<CasePicture>();

                foreach (string uploadedImage in uploadedNewNameImages)
                {
                    CasePicture casePic = new CasePicture()
                    {
                        PictureRank = (byte)picRank,
                        PictureName = uploadedImage,
                        PictureLocation = uploadDirImages,
                        CreatedBy = 999,
                    };

                    cp.Add(casePic);
                    picRank++;
                }

                c.CasePictures = cp;
                l.Cases.Add(c);

                // Save lead object and get CaseId
                long caseId = cmRepo.AddLead(l);

                // Send emails
                SendEmailToClient(request, caseId);
                SendEmailToAdmin(request, caseId, uploadedNewNameImages);

                // Redirect to confirmation view.
                return RedirectToAction("Index", "Home", new { showConfirmBox = "Customer" });
            }

            return RedirectToAction("Index");
        }