public ActionResult Edit(int id, QuotationModel quotationModel, HttpPostedFileBase QuotationFile) { try { quotationModel.Vendorddl = _vendorService.GetDropdownVendors(); if (ModelState.IsValid) { string path = Server.MapPath("~/App_Data/Quotation/"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } if (QuotationFile != null) { quotationModel.QuotationFilePath = string.Format("{0:yyyy-MM-dd_HH-mm-ss-fff}", quotationModel.QuotationReceivedDate) + ".pdf"; string fileName = Path.GetFileName(QuotationFile.FileName); fileName = quotationModel.QuotationFilePath; QuotationFile.SaveAs(path + fileName); } _quotationService.UpdateQuotation(quotationModel); TempData["Message"] = "Quotation updated successfully."; TempData["MessageType"] = (int)AlertMessageTypes.Success; return(RedirectToAction("ManageQuotation")); } else { return(View(_quotationService)); } } catch (Exception e) { _logger.Error(e); TempData["Message"] = "Internal server error. Vendor not updated. Please contact administrator."; TempData["MessageType"] = (int)AlertMessageTypes.Danger; return(View(_quotationService)); } }
public async Task <ActionResult> Edit(VmQuotationItem quotationItem) { try { var submitType = Request.Form["btnType"]; string documentAction = ""; if (submitType.ToString().ToLower() == "save as draft") { quotationItem.Document.DocumentStatus_Id = Constants_CodeTable.Code_Quotation_Draft; documentAction = "Save as Draft"; } else { quotationItem.Document.DocumentStatus_Id = Constants_CodeTable.Code_Quotation_Submitted; documentAction = "Submitted"; } var listAttachment = new List <VmAttachmentItem>(); int i = 0; foreach (var itemFile in Request.Form.Files) { if (itemFile.Length > 0) { var tmpFileNameArr = itemFile.FileName.ToString().Split("\\"); string tmpFileName = tmpFileNameArr.Last(); var att = new VmAttachmentItem { FileName = tmpFileName, FileSize = itemFile.Length, FileBinary = Convert.ToBase64String(ConvertFiletoBytes(itemFile)), Description = Request.Form["fileDescriptionQuotation[]"].ToArray()[i].ToString(), CreatedBy = quotationItem.CreatedBy, UpdatedBy = quotationItem.UpdatedBy }; listAttachment.Add(att); } i++; } quotationItem.Document.Attachment = listAttachment; var listDocumentUser = new List <VmDocumentUserItem>(); var arrUser = Request.Form["documentUserId[]"].ToArray(); var arrRole = Request.Form["documentUserRole[]"].ToArray(); for (int j = 0; j < arrUser.Length; j++) { var userId = arrUser[j]; var rolesId = arrRole[j]; var roles = rolesId.Split(','); foreach (var item in roles) { var documentUser = new VmDocumentUserItem { User_Id = Convert.ToInt32(userId), Role_Id = Convert.ToInt32(item) }; listDocumentUser.Add(documentUser); } } quotationItem.Document.DocumentUser = listDocumentUser; var listDocumentActivity = new List <VmDocumentActivityItem>(); var DocumentActivity = new VmDocumentActivityItem() { User_Id = Convert.ToInt32(HttpContext.Session.GetString("User_Id")), IsRfq = false, Action = documentAction, }; listDocumentActivity.Add(DocumentActivity); quotationItem.Document.DocumentActivityList = listDocumentActivity; //string documentNo = quotationService.UpdateQuotation(quotationItem); //return RedirectToAction("Index"); var result = await quotationService.UpdateQuotation(quotationItem); if (result.IsSuccess) { return(RedirectToAction("Listing")); } else { TempData["ErrorMessage"] = "Error on updating quotation."; return(RedirectToAction("ErrorForUser", "Home")); } } catch (Exception ex) { TempData["ErrorMessage"] = ex.Message; return(RedirectToAction("ErrorForUser", "Home")); } }