/// <summary> /// Update InvoiceDetail /// </summary> /// <param name="obj">New InvoiceDetail</param> /// <returns></returns> public ApiResponseViewModel Update(InvoiceDetail obj) { var result = new InvoiceDetailViewModel(); var response = new ApiResponseViewModel { Code = CommonConstants.ApiResponseSuccessCode, Message = null, Result = null }; try { var exists = _InvoiceDetailRepository.CheckContains(m => m.ID == obj.ID); if (exists) { _InvoiceDetailRepository.Update(obj); _unitOfWork.Commit(); response.Message = CommonConstants.SaveSuccess; } else { response.Code = CommonConstants.ApiResponseNotFoundCode; response.Message = CommonConstants.NotFoundMessage; } } catch (Exception ex) { response.Code = CommonConstants.ApiResponseExceptionCode; response.Message = CommonConstants.ErrorMessage + " " + ex.Message; } return(response); }
public ActionResult Create(InvoiceDetailViewModel viewModel) { if (!ModelState.IsValid) { return(View()); } var invoice = _invoiceMagager.GetById(viewModel.InvoiceId); ViewBag.InvoiceId = invoice.Id; var detail = invoice.InvoiceDetailById(viewModel.Id); if (detail != null) { ModelState.AddModelError(string.Empty, "Invoice Detail already exists"); return(View()); } try { var invoiceDetail = new InvoiceDetail(); invoiceDetail.Invoice = invoice; AutoMapper.Mapper.Map(viewModel, invoiceDetail); invoice.AddDetail(invoiceDetail); return(RedirectToAction("Index", new { invoiceId = invoice.Id })); } catch { return(View()); } }
public async Task <IActionResult> AddInvoiceDetail(InvoiceDetailViewModel model) { if (ModelState.IsValid) { if (!(await productService.ReadAsync(model.Product.Value) != null) || model.Amount.Value < 1 || model.Amount.Value > 50) { return(RedirectToAction("InvoiceDetail", new { id = model.InvoiceId.Value }).WithDanger("Lỗi", "Thêm chi tiết thất bại")); } model.Id = Guid.NewGuid(); model.CreatedDate = DateTime.Now; model.ModifiedDate = DateTime.Now; model.UnitPrice = (await productService.ReadAsync(model.Product.Value)).UnitPrice; model.TotalPrice = model.UnitPrice * model.Amount; var currentInvoice = await invoiceService.ReadAsync(model.InvoiceId.Value); currentInvoice.TotalPrice += model.UnitPrice; await invoiceDetailService.CreateAsync(model); return(RedirectToAction("InvoiceDetail", new { id = currentInvoice.Id }).WithSuccess("Thành công", "Thêm chi tiết hóa đơn thành công")); } ViewBag.Product = productService.GetAll(); ViewBag.InvoiceId = model.InvoiceId.Value; return(RedirectToAction("AddInvoiceDetail", new { id = model.InvoiceId.Value }).WithDanger("Lỗi", "Thêm chi tiết hóa đơn thất bại")); }
public void Update(InvoiceDetailViewModel model) { var entity = mapper.Map(model, new InvoiceDetail()); invoiceDetailRepository.Update(entity); invoiceDetailRepository.SaveChanges(); }
public async Task UpdateAsync(InvoiceDetailViewModel model) { var entity = mapper.Map(model, new InvoiceDetail()); invoiceDetailRepository.Update(entity); await invoiceDetailRepository.SaveChangesAsync(); }
public PartialViewResult AddItem(int sequence, string companyCode, string pymItems) { InvoiceService service = new InvoiceService(); InvoiceDetailViewModel invoiceItemModel = service.InitialItem(sequence,companyCode,pymItems); return PartialView("~/Views/Invoice/InvoiceItemDetail.cshtml", invoiceItemModel); }
public InvoiceDetailViewModel Add(InvoiceDetailViewModel InvoiceDetailViewModel) { var invoiceDetail = Mapper.Map <InvoiceDetailViewModel, InvoiceDetail>(InvoiceDetailViewModel); _invoiceDetailRepository.Add(invoiceDetail); _unitOfWork.Commit(); return(InvoiceDetailViewModel); }
public ActionResult Order() { InvoiceDetailViewModel NewData = new InvoiceDetailViewModel(); ViewData["Receipts"] = db.Receipts.Where(p => p.IsEnabled == true).ToList(); ViewData["InvoiceDetail"] = db.InvoiceDetail.ToList(); return(View(NewData)); }
public async Task CreateAsync(InvoiceDetailViewModel model) { var entity = mapper.Map(model, new InvoiceDetail()); invoiceDetailRepository.Add(entity); await invoiceDetailRepository.SaveChangesAsync(); dataAccess.AddInvoiceTotalPrice(entity.InvoiceId.Value, entity.TotalPrice.Value); }
private void ShowInvoice(List <Invoice> data, string title) { var vm = new InvoiceDetailViewModel(data, title); var page = new InvoiceDetailView() { BindingContext = vm }; Shell.Current.Navigation.PushAsync(page); }
/// <summary> /// Gets the new row for the invoice. /// </summary> /// <param name="id">The identifier.</param> /// <returns></returns> public JsonResult GetRow(int id) { ViewBag.CurrentItemID = id; InvoiceDetailViewModel invoiceDetail = new InvoiceDetailViewModel(new InvoiceDetail()); invoiceDetail.Id = id; var rowView = RenderView("DetaiInvoicelRow", invoiceDetail); return(Json(new { rowId = id, rowData = rowView }, JsonRequestBehavior.AllowGet)); }
public void Update(InvoiceDetailViewModel InvoiceDetailViewModel) { var temp = _invoiceDetailRepository.FindById(InvoiceDetailViewModel.KeyId); if (temp != null) { temp.BookFK = InvoiceDetailViewModel.BookFK; temp.SubTotal = InvoiceDetailViewModel.SubTotal; temp.InvoiceFK = InvoiceDetailViewModel.InvoiceFK; } }
// GET: InvoiceDetail/Edit/5 public ActionResult Edit(long id, long invoiceId) { var invoice = _invoiceMagager.GetById(invoiceId); var detail = invoice.GetDetail().First(x => x.Id == id); var viewModel = new InvoiceDetailViewModel(); AutoMapper.Mapper.Map(detail, viewModel); return(View(viewModel)); }
/// <summary> /// Get all Invoice /// </summary> /// <returns></returns> public ApiResponseViewModel Filter(string fromDate, string toDate) { var result = new List <InvoiceDetailViewModel>(); var response = new ApiResponseViewModel { Code = CommonConstants.ApiResponseSuccessCode, Message = null, Result = null }; try { var invoiceDetails = _InvoiceDetailRepository.GetMulti(m => m.IsActive == true); var fromDateValue = !string.IsNullOrEmpty(fromDate) ? DateTime.Parse(fromDate) : DateTime.Now; var toDateValue = !string.IsNullOrEmpty(toDate) ? DateTime.Parse(toDate) : DateTime.Now; foreach (var idetail in invoiceDetails) { var invoice = _InvoiceRepository.GetMulti( m => m.IsActive == true && m.ID == idetail.InvoiceID && (m.CreatedDate >= fromDateValue) && (m.CreatedDate <= toDateValue) //&& (string.IsNullOrEmpty(fromDate.Trim()) || m.CreatedDate >= fromDateValue) //&& (string.IsNullOrEmpty(toDate.Trim()) || m.CreatedDate <= toDateValue) ).FirstOrDefault(); if (invoice != null) { var obj = new InvoiceDetailViewModel { ID = invoice.ID, InvoiceCode = invoice.InvoiceCode, CreateDate = invoice.CreatedDate.ToShortDateString(), CustomerID = int.Parse(invoice.CustomerID.ToString()), Customer = _CustomerRepository.GetSingleById(int.Parse(invoice.CustomerID.ToString())).CustomerName, Category = idetail.Category.CategoryName, InOut = invoice.InOut ?? false, Status = invoice.Status, Value = decimal.Parse(idetail.Value.ToString()).ToString("###,##"), IsActive = idetail.IsActive ?? false, TaxValue = idetail.TaxValue.Value.ToString() //InvoiceDetails = _InvoiceDetailRepository.GetListInvoiceDetailsByInvoiceID(idetail.ID) }; result.Add(obj); } } response.Result = result; } catch (Exception ex) { response.Code = CommonConstants.ApiResponseExceptionCode; response.Message = CommonConstants.ErrorMessage + " " + ex.Message; } return(response); }
public ActionResult Create(InvoiceDetailViewModel viewModel) { this.FillDataSourceInvoice(AutoMapper.Mapper.Map <InvoiceViewModel>(_manager.GetById(viewModel.InvoiceId))); if (!ModelState.IsValid) { return(View("Create", viewModel)); } _manager.GetById(viewModel.InvoiceId).AddDetail(AutoMapper.Mapper.Map <InvoiceDetail>(viewModel)); return(RedirectToAction("Detail", "Invoice", new { id = viewModel.InvoiceId })); }
public static InvoiceDetailViewModel ConvertToViewModel(InvoiceDetail dbModel) { var viewModel = new InvoiceDetailViewModel { Id = dbModel.Id, product = ProductDto.FromModel(dbModel.product), invoice = InvoiceDto.FromModel(dbModel.invoice), Quantity = dbModel.Quantity, Price = dbModel.Price }; return(viewModel); }
public ActionResult Details(long?id) { var invoice = invoiceService.GetById(id ?? 0) ?? new Invoice(); var viewModel = new InvoiceDetailViewModel { Invoice = invoice, Currency = currencyService.GetById(invoice.CurrencyId ?? 0) ?? new Currency(), Customer = customerService.GetById(invoice.CustomerId ?? 0) ?? new Customer(), Branch = branchService.GetById(LogedInUser.BranchId ?? 0) }; return(View(viewModel)); }
/// <summary> /// Get InvoiceDetail by invoice id /// </summary> /// <param name="id">ID of Invoice</param> /// <returns></returns> public ApiResponseViewModel GetByInvoiceId(int id) { var lstResult = new List <InvoiceDetailViewModel>(); var response = new ApiResponseViewModel { Code = CommonConstants.ApiResponseSuccessCode, Message = null, Result = null }; try { var exists = _InvoiceDetailRepository.CheckContains(m => m.InvoiceID == id); var invoice = _invoiceRepository.GetSingleById(id); if (exists) { var lst = _InvoiceDetailRepository.GetMulti(m => m.InvoiceID == id && m.IsActive == true).ToList(); foreach (var tempResult in lst) { var result = new InvoiceDetailViewModel(); result.ID = tempResult.ID; result.InvoiceID = tempResult.InvoiceID; result.Value = decimal.Parse(tempResult.Value.ToString()).ToString("###,##"); result.IsActive = tempResult.IsActive ?? false; result.DepartmentID = tempResult.DepartmentID; result.Department = tempResult.Department != null ? tempResult.Department.DepartmentName : ""; result.CategoryID = tempResult.CategoryID; result.Category = tempResult.Category != null ? tempResult.Category.CategoryName : ""; result.TaxValueID = tempResult.TaxValueID; result.TaxValue = tempResult.TaxValue != null?tempResult.TaxValue.Value.ToString() : ""; lstResult.Add(result); } response.Result = lstResult; } else { response.Code = CommonConstants.ApiResponseNotFoundCode; response.Message = CommonConstants.NotFoundMessage; } } catch (Exception ex) { response.Code = CommonConstants.ApiResponseExceptionCode; response.Message = CommonConstants.ErrorMessage + " " + ex.Message; } return(response); }
public InvoiceViewModel GetByInvoiceId(string invoiceId) { InvoiceViewModel invoiceViewModel = new InvoiceViewModel(); List <InvoiceDetailViewModel> lstDetailModel = new List <InvoiceDetailViewModel>(); InvoiceDetailViewModel detailModel; var result = _invoiceRepository.GetByInvoiceId(invoiceId); invoiceViewModel.InvoiceId = result.InvoiceId; invoiceViewModel.CompanyId = result.CompanyId; invoiceViewModel.Date = result.Date; invoiceViewModel.BillingContactName = result.BillingContactName; invoiceViewModel.ShippingContactName = result.ShippingContactName; invoiceViewModel.ShippingCompanyName = result.ShippingCompanyName; invoiceViewModel.ShippingAddressLine1 = result.ShippingAddressLine1; invoiceViewModel.ShippingAddressLine2 = result.ShippingAddressLine2; invoiceViewModel.ShippingCity = result.ShippingCity; invoiceViewModel.ShippingState = result.ShippingState; invoiceViewModel.ShippingZipcode = result.ShippingZipcode; invoiceViewModel.ShippingCountry = result.ShippingCountry; invoiceViewModel.ShippingPhone = result.ShippingPhone; invoiceViewModel.ShippingEmail = result.ShippingEmail; invoiceViewModel.SubTotal = result.SubTotal; invoiceViewModel.Discount = result.Discount; invoiceViewModel.GrandTotal = result.GrandTotal; invoiceViewModel.TaxRate = result.TaxRate; invoiceViewModel.TaxAmount = result.TaxAmount; invoiceViewModel.ShippingCharges = result.ShippingCharges; invoiceViewModel.Balance = result.Balance; invoiceViewModel.Remarks = result.Remarks; foreach (var temp in result.InvoiceDetails) { detailModel = new InvoiceDetailViewModel(); detailModel.InvoiceDetailId = temp.InvoiceDetailId; detailModel.InvoiceId = temp.InvoiceId; detailModel.Description = temp.Description; detailModel.Price = temp.Price; detailModel.Quantity = temp.Quantity; detailModel.Total = temp.Total; lstDetailModel.Add(detailModel); } invoiceViewModel.lstInvoiceDetails = lstDetailModel; return(invoiceViewModel); }
public InvoiceDetailViewModel GetDetail(int?id) { InvoiceViewModel invoice = FindById(id); List <DetailLineViewModel> detailLines = _detailLineBusinessLogic.FindByInvoice(invoice); InvoiceDetailViewModel invoiceDetail = new InvoiceDetailViewModel() { Invoice = invoice, DetailLines = detailLines, TotalAmount = GetTotalAmount(detailLines), Discount = GetDiscount(detailLines), VAT = GetVAT(detailLines), FinalTotal = GetTotalPrice(detailLines) }; invoiceDetail.Customer = _customerBusinessLogic.FindById(invoice.CustomerId); return(invoiceDetail); }
/// <summary> /// Hàm để ánh xạ từ lớp InvoiceDetailViewModel sang lớp InvoiceDetail /// </summary> /// <returns>InvoiceDetail</returns> /// Người tạo: ntxuan (20/6/2019) public InvoiceDetail MapInvoiceDetaiViewModelToInvoiceDetail(InvoiceDetailViewModel invoiceDetailViewModel) { var invoiceDetail = new InvoiceDetail(); // Ánh xạ các thuộc tính tương ứng invoiceDetail.InvoiceDetailID = invoiceDetailViewModel.InvoiceDetailID; invoiceDetail.InvoiceID = invoiceDetailViewModel.InvoiceID; invoiceDetail.ProductName = invoiceDetailViewModel.ProductName; invoiceDetail.SKU = invoiceDetailViewModel.SKU; invoiceDetail.Unit = invoiceDetailViewModel.Unit; invoiceDetail.Storage = invoiceDetailViewModel.Storage; invoiceDetail.UnitPrice = invoiceDetailViewModel.UnitPrice; invoiceDetail.DiscountPercentage = invoiceDetailViewModel.DiscountPercentage; invoiceDetail.TaxPercentage = invoiceDetailViewModel.TaxPercentage; invoiceDetail.Quantity = invoiceDetailViewModel.Quantity; return(invoiceDetail); }
public async Task <IActionResult> View(int Id) { Invoice invoice = _invoiceRepository.GetInvoice(Id); RentalAsset rentalAsset = await _rentalAssetRepository.GetItemByIdAsync(invoice.RentalAssetId); var vm = new InvoiceDetailViewModel { InvoiceId = invoice.InvoiceId, RentalAssetLocation = rentalAsset.Location, RentalAssetName = rentalAsset.Name, RentalAssetPrice = rentalAsset.Price, LeaseFrom = invoice.LeaseFrom, LeaseTo = invoice.LeaseTo, AmountPaid = invoice.AmountPaid }; return(View(vm)); }
public ActionResult Update(InvoiceDetailViewModel viewModel) { this.FillDataSourceInvoice(AutoMapper.Mapper.Map <InvoiceViewModel>(_manager.GetById(viewModel.InvoiceId))); if (!ModelState.IsValid) { return(View("Update", viewModel)); } var invoiceDb = _manager.GetById(viewModel.InvoiceId); if (invoiceDb == null) { return(View("InvoiceError", new InvoiceErrorViewModel { Message = "The invoice detail that you looking for doesnt exist." })); } AutoMapper.Mapper.Map(viewModel, invoiceDb.GetDetail().FirstOrDefault(d => d.Id == viewModel.Id)); return(RedirectToAction("Detail", "Invoice", new { id = viewModel.InvoiceId })); }
public ActionResult Edit(InvoiceDetailViewModel viewModel) { if (!ModelState.IsValid) { return(View()); } try { var invoice = _invoiceMagager.GetById(viewModel.InvoiceId); var detail = invoice.InvoiceDetailById(viewModel.Id); AutoMapper.Mapper.Map(viewModel, detail); return(RedirectToAction("Index", new { invoiceId = invoice.Id })); } catch { return(View()); } }
/// <summary> /// Hàm dùng để ánh xạ từ lớp InvoiceDetail sang InvoiceDetailViewModel /// </summary> /// <param name="invoice">Hóa đơn</param> /// <returns>InvoiceDetailViewModel</returns> /// Người tạo: ntxuan (20/6/2019) public InvoiceDetailViewModel MapInvoiceDetailToInvoiceDetailViewModel(InvoiceDetail invoiceDetail) { var invoiceDetailViewModel = new InvoiceDetailViewModel(); invoiceDetailViewModel.InvoiceDetailID = invoiceDetail.InvoiceDetailID; invoiceDetailViewModel.InvoiceID = invoiceDetail.InvoiceID; invoiceDetailViewModel.ProductName = invoiceDetail.ProductName; invoiceDetailViewModel.SKU = invoiceDetail.SKU; invoiceDetailViewModel.Unit = invoiceDetail.Unit; invoiceDetailViewModel.Storage = invoiceDetail.Storage; invoiceDetailViewModel.UnitPrice = invoiceDetail.UnitPrice; invoiceDetailViewModel.DiscountPercentage = invoiceDetail.DiscountPercentage; invoiceDetailViewModel.TaxPercentage = invoiceDetail.TaxPercentage; invoiceDetailViewModel.Quantity = invoiceDetail.Quantity; invoiceDetailViewModel.Money = (double)invoiceDetail.Quantity * (double)invoiceDetail.UnitPrice; invoiceDetailViewModel.DiscountMoney = invoiceDetailViewModel.Money * (double)invoiceDetail.DiscountPercentage * 0.01; invoiceDetailViewModel.TaxMoney = (invoiceDetailViewModel.Money - invoiceDetailViewModel.DiscountMoney) * (double)invoiceDetail.TaxPercentage * 0.01; invoiceDetailViewModel.PaidMoney = invoiceDetailViewModel.Money - invoiceDetailViewModel.DiscountMoney + invoiceDetailViewModel.TaxMoney; return(invoiceDetailViewModel); }
/// <summary> /// Make InvoiceDetail in-active by Id /// </summary> /// <param name="id">ID of InvoiceDetail</param> /// <returns></returns> public ApiResponseViewModel SetInActive(int id) { var result = new InvoiceDetail(); var response = new ApiResponseViewModel { Code = CommonConstants.ApiResponseSuccessCode, Message = null, Result = null }; try { var exists = _InvoiceDetailRepository.CheckContains(m => m.ID == id); if (exists) { result = _InvoiceDetailRepository.GetSingleById(id); result.IsActive = false; _InvoiceDetailRepository.Update(result); _unitOfWork.Commit(); response.Message = CommonConstants.DeleteSuccess; var temp = new InvoiceDetailViewModel(); temp.ID = result.ID; temp.InvoiceID = result.InvoiceID; response.Result = temp; } else { response.Code = CommonConstants.ApiResponseNotFoundCode; response.Message = CommonConstants.NotFoundMessage; } } catch (Exception ex) { response.Code = CommonConstants.ApiResponseExceptionCode; response.Message = CommonConstants.ErrorMessage + " " + ex.Message; } return(response); }
// For saving detail data public JsonResult SetInvoiceDetailsListForSave_org(List <InvoiceDetailViewModel> lstInvoiceDetails) { var strMessage = string.Empty; // Clear detail list Session["lstInvoiceDetails"] = null; try { List <InvoiceDetailViewModel> list = new List <InvoiceDetailViewModel>(); var invoiceModel = new InvoiceModel(); // Add new detail information foreach (var item in lstInvoiceDetails) { InvoiceDetailViewModel entityModel = new InvoiceDetailViewModel(); entityModel.InvoiceId = item.InvoiceId; entityModel.ProductId = item.ProductId; entityModel.UnitPrice = item.UnitPrice; //entityModel.SalesQTY = item.SalesQTY; //entityModel.TP = entityModel.SalesTP * item.SalesQTY; list.Add(entityModel); } Session["lstInvoiceDetails"] = list; return(Json(invoiceModel, JsonRequestBehavior.AllowGet)); //strMessage = Boolean.TrueString; } catch (Exception ex) { strMessage = CommonExceptionMessage.GetExceptionMessage(ex, CommonAction.Save); } return(Json(new { strMessage = strMessage })); }
public JsonResult GetPaymentTerm(Guid invoiceId, Guid customerId, DateTime invoiceDate, bool isChangeCustomer) { var cashbookId = UserContext.GetCurrentCashbookId(); var invoice = (invoiceId as Guid?).HasRealValue() ? _invoiceQueryService.GetInvoiceById(invoiceId) : null; var contact = _contactsQueryService.GetContactDetail(cashbookId, customerId); var isCustomer = contact == null || contact.IsCustomer; Guid paymentTermId = contact == null ? Guid.Empty : contact.TermId.GetValueOrDefault(Guid.Empty); var paymmentTerms = _paymentTermQueryService.GetPaymentTerms(cashbookId, customerId, isCustomer, !isCustomer) .Where(p => p.IsActive).ToList(); PaymentTermDetail paymentTerm; //Set default paymentterm to cashbook's default PaymentTermDetail defaultPaymentTerm = paymmentTerms.FirstOrDefault(p => p.IsDefault); if (isChangeCustomer) { if (paymentTermId != Guid.Empty) { paymentTerm = _paymentTermQueryService.GetPaymentTermById(paymentTermId); if (paymentTerm.IsActive) { paymentTerm.TermName += PAYMENTTERM_EXTRA; } else { paymentTerm = new PaymentTermDetail(); } } else { paymentTerm = defaultPaymentTerm ?? new PaymentTermDetail(); } } else { var invoiceViewModel = new InvoiceDetailViewModel(invoice, _cashbookSettings, CountrySettings, _cashbookQueryService, _companyQueryService); if (invoiceViewModel.PaymentTermId == null) { if (paymentTermId != Guid.Empty) { paymentTerm = _paymentTermQueryService.GetPaymentTermById(paymentTermId); //If customer has a paymentterm then set customer's paymentterm as default if (paymentTerm.IsActive) { defaultPaymentTerm = paymentTerm; } } else { paymentTerm = defaultPaymentTerm ?? new PaymentTermDetail(); } } else { paymentTerm = _paymentTermQueryService.GetPaymentTermById(invoiceViewModel.PaymentTermId.Value); } } if (defaultPaymentTerm != null) { var selectedPayment = paymmentTerms.FirstOrDefault(p => p.PaymentTermId == (defaultPaymentTerm.PaymentTermId)); if (selectedPayment != null) { selectedPayment.TermName += PAYMENTTERM_EXTRA; } } DateTime paymentDueDate = DateTime.MinValue; if (invoice != null && paymentTerm != null) { paymentDueDate = _paymentTermQueryService.GetPaymentTermDueDate(cashbookId, paymentTerm.PaymentTermId, invoice.InvoiceDate, UserContext.LoginName); } else { if (invoiceDate != DateTime.MinValue && paymentTerm != null) { paymentDueDate = _paymentTermQueryService.GetPaymentTermDueDate(cashbookId, paymentTerm.PaymentTermId, invoiceDate, UserContext.LoginName); } } DateTime?dueDate = null; if (paymentDueDate != DateTime.MinValue) { dueDate = paymentDueDate; } var creditLimit = _contactsQueryService.GetAvailableCreditLimit(new AvailableCreditLimitRequest() { CashbookID = cashbookId, CustomerSupplierID = customerId, IsCustomer = isCustomer, ExcludesTransaction = true, TransactionID = Guid.Empty, TransactionType = CreditTransactionType.NotSet }); // Return data using Newtonsoft.Net so dates will be in ISO 8601 format. return(new JsonNetResult() { Data = new PaymentTermInfo() { HasCreditLimit = creditLimit.HasCreditLimit, AvailableBalance = creditLimit.AvailableCredit, CustomerCreditLimit = creditLimit.CreditLimit, PaymentDueDate = dueDate, PaymentTerm = paymentTerm, PaymentTerms = paymmentTerms } }); }
public InvoiceDetailPage() { InitializeComponent(); BindingContext = new InvoiceDetailViewModel(); }
public ActionResult Index(FormCollection invoice) { InvoiceViewModel model = new InvoiceViewModel(); try { model.CompanyId = Convert.ToString(invoice["CompanyId"]); model.InvoiceId = string.Format("{0}-{1}-{2}", model.CompanyId, DateTime.Now.ToString("yyMMdd"), DateTime.Now.ToString("hhmm")); model.Date = Convert.ToDateTime(invoice["Date"]); model.BillingContactName = Convert.ToString(invoice["BillingContactName"]); model.ShippingContactName = Convert.ToString(invoice["ShippingContactName"]); model.ShippingCompanyName = Convert.ToString(invoice["ShippingCompanyName"]); model.ShippingAddressLine1 = Convert.ToString(invoice["ShippingAddressLine1"]); model.ShippingAddressLine2 = Convert.ToString(invoice["ShippingAddressLine2"]); model.ShippingCity = Convert.ToString(invoice["ShippingCity"]); model.ShippingState = Convert.ToString(invoice["ShippingState"]); model.ShippingZipcode = Convert.ToInt32(invoice["ShippingZipcode"]); model.ShippingCountry = Convert.ToString(invoice["ShippingCountry"]); model.ShippingPhone = Convert.ToString(invoice["ShippingPhone"]); model.ShippingEmail = Convert.ToString(invoice["ShippingEmail"]); model.SubTotal = Convert.ToDecimal(invoice["SubTotal"]); model.Discount = Convert.ToDecimal(invoice["Discount"]); model.GrandTotal = Convert.ToDecimal(invoice["GrandTotal"]); model.TaxRate = Convert.ToDecimal(invoice["TaxRate"]); model.TaxAmount = Convert.ToDecimal(invoice["TaxAmount"]); model.ShippingCharges = Convert.ToDecimal(invoice["ShippingCharges"]); model.Balance = Convert.ToDecimal(invoice["Balance"]); model.Remarks = Convert.ToString(invoice["Remarks"]); string[] Description = Convert.ToString(invoice["Description"]).Split(','); string[] Price = Convert.ToString(invoice["Price"]).Split(','); string[] Quantity = Convert.ToString(invoice["Quantity"]).Split(','); string[] Total = Convert.ToString(invoice["Total"]).Split(','); List <InvoiceDetailViewModel> lstDetailsModel = new List <InvoiceDetailViewModel>(); InvoiceDetailViewModel detailModel; for (int i = 0; i < Description.Count(); i++) { detailModel = new InvoiceDetailViewModel(); detailModel.InvoiceId = model.InvoiceId; if (Convert.ToString(Description[i]) == null || string.IsNullOrEmpty(Convert.ToString(Description[i]))) { continue; } detailModel.Description = Convert.ToString(Description[i]); detailModel.Price = Convert.ToDecimal(Price[i]); detailModel.Quantity = Convert.ToInt32(Quantity[i]); detailModel.Total = Convert.ToDecimal(Total[i]); lstDetailsModel.Add(detailModel); } model.lstInvoiceDetails = lstDetailsModel; } catch { ModelState.AddModelError(string.Empty, "An error ocurred while processing data. Please make sure right format of data has been provided in all fields"); } try { using (var client = new HttpClient()) { client.BaseAddress = new Uri("https://localhost:44343/api/invoice/"); var postTask = client.PostAsJsonAsync <InvoiceViewModel>("PostNewInvoice", model); postTask.Wait(); var result = postTask.Result; if (result.IsSuccessStatusCode) { var readTask = result.Content.ReadAsAsync <string>(); readTask.Wait(); ModelState.Clear(); ViewBag.Message = string.Format("{0} - {1}", "Invoice has been inserted successfully. Invoice Number", model.InvoiceId); return(View()); } } ModelState.AddModelError(string.Empty, "An error ocurred. Please try again later/contact administrator."); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "An error ocurred. Please try again later/contact administrator."); } return(View()); }