public ActionResult SaveModelData(tblMachinePartsQuotation model, string create = null) { if (!ModelState.IsValid) { return(View("Create", model)); } string message = string.Empty; try { if (model.QuotationAmount.HasValue) { model.QuotationAmountInWords = CurrencyHelper.changeCurrencyToWords(model.QuotationAmount.Value); } if (model.MachinePartsQuotationId > 0) { model.ModifiedBy = SessionHelper.UserId; model.ModifiedDate = DateTime.Now; message = _dbRepository.Update(model); } else { model.CreatedBy = SessionHelper.UserId; model.CreatedDate = DateTime.Now; message = _dbRepository.Insert(model); } } catch (Exception ex) { message = CommonHelper.GetErrorMessage(ex); } if (model.MachinePartsQuotationId > 0) { if (create == "Save & Continue") { return(RedirectToAction("Edit", new { id = model.MachinePartsQuotationId })); } else if (create == "Save & New") { return(RedirectToAction("Create")); } } return(RedirectToAction("Index")); }
public ActionResult GeneratePartsQuotation(int CommisionId) { tblCommissioning commissioningObj = _dbRepository.SelectById(CommisionId); if (commissioningObj != null) { tblCustomerContactPersons contactPerson = _dbRepositoryContact.SelectById(commissioningObj.ContactPersonId); tblMachinePartsQuotation quotationObj = new tblMachinePartsQuotation(); quotationObj.CustomerId = commissioningObj.CustomerId; quotationObj.CustomerContactPId = commissioningObj.ContactPersonId; quotationObj.CustomerContactPContactNo = contactPerson.ContactNo; quotationObj.Email = contactPerson.ContactPersonEmail; quotationObj.QuotationDate = DateTime.Now.Date; quotationObj.ReportServiceNo = commissioningObj.ReportServiceNo; quotationObj.ServiceEngineerId = commissioningObj.ServiceEngineerId; quotationObj.InquiryNo = String.Empty; quotationObj.InquiryDate = DateTime.Now.Date; quotationObj.PaymentTerms = String.Empty; quotationObj.DeliveryWeeks = 0; quotationObj.FreightAmount = 0; quotationObj.TotalFinalAmount = 0; quotationObj.QuotationAmount = 0; quotationObj.Insurance = String.Empty; quotationObj.ValidityDays = 0; quotationObj.CreatedBy = SessionHelper.UserId; quotationObj.CreatedDate = DateTime.Now.Date; quotationObj.IsPIGenerated = false; string result = _dbRepositoryPartsQ.Insert(quotationObj); if (string.IsNullOrEmpty(result)) { return(RedirectToAction("Edit", "MachinePartsQuotation", new { id = quotationObj.MachinePartsQuotationId })); } } return(RedirectToAction("Edit", "Commissioning", new { id = CommisionId })); }
public ActionResult GeneratePIFromQuotation(int QuotationId, string SelectedIds = null) { if (QuotationId > 0) { tblMachinePartsQuotation quotationObj = _dbRepository.SelectById(QuotationId); if (quotationObj != null) { List <int> selectedIDs = new List <int>(); List <tblMachinePartsQuotationDetail> detailObj = new List <tblMachinePartsQuotationDetail>(); if (!string.IsNullOrEmpty(SelectedIds)) { selectedIDs = SelectedIds.Split(',').Select(int.Parse).ToList(); } else { selectedIDs = _dbRepositoryDetail.GetEntities().Where(m => m.MachinePartsQuotationId == QuotationId).Select(m => m.MPQDetailId).ToList(); } if (selectedIDs.Count > 0) { foreach (int id in selectedIDs) { tblMachinePartsQuotationDetail obj = _dbRepositoryDetail.SelectById(id); detailObj.Add(obj); } if (detailObj.Count > 0) { tblPerformaInvoice invoiceObj = new tblPerformaInvoice(); invoiceObj.MPQuotationId = quotationObj.MachinePartsQuotationId; invoiceObj.QuotationNo = quotationObj.QuotationNo; invoiceObj.QuotationDate = quotationObj.QuotationDate; invoiceObj.CustomerId = quotationObj.CustomerId; invoiceObj.CustomerContactPId = quotationObj.CustomerContactPId; invoiceObj.CustomerContactPContactNo = quotationObj.CustomerContactPContactNo; invoiceObj.ReportServiceNo = quotationObj.ReportServiceNo; invoiceObj.InquiryNo = quotationObj.InquiryNo; invoiceObj.InquiryDate = quotationObj.InquiryDate; invoiceObj.PaymentTerms = quotationObj.PaymentTerms; invoiceObj.DeliveryWeeks = quotationObj.DeliveryWeeks; invoiceObj.Insurance = quotationObj.Insurance; invoiceObj.ValidityDays = quotationObj.ValidityDays; invoiceObj.Email = quotationObj.Email; invoiceObj.TotalFinalAmount = quotationObj.TotalFinalAmount; invoiceObj.FreightAmount = quotationObj.FreightAmount; invoiceObj.QuotationAmount = quotationObj.QuotationAmount; invoiceObj.TotalFreightAmount = quotationObj.TotalFreightAmount; invoiceObj.ServiceEngineerId = quotationObj.ServiceEngineerId; invoiceObj.FreightPercentage = quotationObj.FreightPercentage; invoiceObj.Remarks = quotationObj.Remarks; invoiceObj.SequenceNo = quotationObj.SequenceNo; invoiceObj.CreatedBy = SessionHelper.UserId; invoiceObj.CreatedDate = DateTime.Now; string result = _dbRepositoryPI.Insert(invoiceObj); if (string.IsNullOrEmpty(result)) { foreach (tblMachinePartsQuotationDetail obj in detailObj) { tblPerformaInvoiceDetail piDetailObj = new tblPerformaInvoiceDetail(); piDetailObj.PerformaInvoiceId = invoiceObj.PerformaInvoiceId; piDetailObj.MPQDetailId = obj.MPQDetailId; piDetailObj.MachineTypeId = obj.MachineTypeId; piDetailObj.MachineModelId = obj.MachineModelId; piDetailObj.MachineModelSerialNo = obj.MachineModelSerialNo; piDetailObj.MachinePartsId = obj.MachinePartsId; piDetailObj.MachinePartsNo = obj.MachinePartsNo; piDetailObj.MachinePartDescription = obj.MachinePartDescription; piDetailObj.PartsHSNCode = obj.PartsHSNCode; piDetailObj.PartsQuantity = obj.PartsQuantity; piDetailObj.UnitPrice = obj.UnitPrice; piDetailObj.TotalPrice = obj.TotalPrice; piDetailObj.PAndFPercentage = obj.PAndFPercentage; piDetailObj.ProfitMarginPercentage = obj.ProfitMarginPercentage; piDetailObj.DiscountPercentage = obj.DiscountPercentage; piDetailObj.TaxablePrice = obj.TaxablePrice; piDetailObj.GSTPercentage = obj.GSTPercentage; piDetailObj.GSTAmount = obj.GSTAmount; piDetailObj.FinalAmount = obj.FinalAmount; piDetailObj.CreatedBy = SessionHelper.UserId; piDetailObj.CreatedDate = DateTime.Now; _dbRepositoryPIDetail.Insert(piDetailObj); } quotationObj.IsPIGenerated = true; _dbRepository.Update(quotationObj); return(RedirectToAction("Edit", "PI", new { id = invoiceObj.PerformaInvoiceId })); } } } else { TempData["Error"] = "There are no products to quoatation details. So please add products first."; return(View("Index")); } } } TempData["Error"] = "Something Went Wrong. Please try again later!"; return(View("Index")); }