protected void btnSave_Click(object sender, EventArgs e) { //begin - shan - mar 13, 2012 - before saving validate the fields in Invoice Total control InvoiceInfo1.BindInvoiceSkuGrid(); InvoiceTotal1.CalculateTax(true); //check if err exists if (string.IsNullOrEmpty(InvoiceTotal1.ErrorMessage)) { var invoice = Session["Invoice"] as Invoice; invoice.Notes = InvoiceTotal1.Note; invoice.PaymentAddress = InvoiceTotal1.PaymentAddress; InvoiceTotal1.CalculateTax(true); invoice.Status = (InvoiceStatus)InvoiceTotal1.InvoiceStatus; long invoiceId = InvoiceProvider.SetInvoice(Session["Invoice"] as Invoice); invoice.ID = invoiceId; Session["InvoiceSKUs"] = null; Session["Invoice"] = invoice; var invoiceDistributorSequence = InvoiceProvider.GetDistributorInvoiceNumber(invoice.DistributorID, invoiceId); Response.Redirect("~/Bizworks/MyInvoiceDetails.aspx?invoiceId=" + invoiceDistributorSequence.ToString()); } }
public async Task <InvoiceModel> Load(int id) { var memberId = User.Identity.Name.ToUpper().Trim(); var locale = CultureInfo.CurrentUICulture.Name; var invoice = await _invoiceLoader.Load(new GetInvoiceById { Id = id, MemberId = memberId, Locale = locale }); if (invoice.MemberFirstName == null || invoice.MemberEmailAddress == null) { InvoiceProvider.LoadMemberInfo(invoice); } if (invoice.ReceiptChannel == "ClubSaleReceipt" || invoice.ReceiptChannel == "Club Visit/Sale") { if (invoice.ClubInvoice == null) { ConvertToClubInvoiceLines(invoice.InvoiceLines, invoice); } else { invoice.InvoiceLines = new List <InvoiceLineModel>(); invoice.InvoicePrice = new InvoicePriceModel(); } } if (!HLConfigManager.Configurations.DOConfiguration.AddressOnInvoice) { invoice.MemberAddress = new InvoiceAddressModel(); } return(invoice); }
protected void btnProcessVoid_Click(object sender, EventArgs e) { MonthlyClosingProvider monthlyClosingProvider = UnityContainerHelper.Container.Resolve <MonthlyClosingProvider>(); InvoiceProvider invoiceProvider = UnityContainerHelper.Container.Resolve <InvoiceProvider>(); var query = from row in gvwData.Rows.Cast <GridViewRow>() where (row.FindControl("chkVoid") as CheckBox).Checked select new { InvoiceNo = row.Cells[1].Text }; foreach (var invoice in query) { InvoiceHeader currentInvoice = invoiceProvider.GetInvoice(invoice.InvoiceNo); if (currentInvoice != null) { if (!monthlyClosingProvider.IsClosed(currentInvoice.BranchID, currentInvoice.Date.Month, currentInvoice.Date.Year)) { invoiceProvider.ProcessVoid(invoice.InvoiceNo, txtNotes.Text, chkVoidPaymentOnly.Checked); lblStatus.Text += String.Format("Invoice <b>{0}</b> has been marked as void <br/>", currentInvoice.InvoiceNo); } else { lblStatus.Text += String.Format("Invoice <b>{0}</b> cannot be marked as void because of monthly closing <br/>", currentInvoice.InvoiceNo); } } } txtNotes.Text = String.Empty; gvwData.DataBind(); }
private static InvoiceProvider GetTarget() { var invoiceConverter = new InvoiceConverter(); var invoiceLoader = new InvoiceLoader(invoiceConverter); var invoiceProvider = new InvoiceProvider(invoiceLoader, invoiceLoader, invoiceConverter); return(invoiceProvider); }
public InvoiceController() { var invoiceConverter = new InvoiceConverter(); var invoiceLoader = new InvoiceLoader(invoiceConverter); var invoiceProvider = new InvoiceProvider(invoiceLoader, invoiceLoader, invoiceConverter); _invoiceProvider = invoiceProvider; _invoiceModelLoader = invoiceProvider; }
public ActionResult InvoiceList(InvoiceParameter param) { param.KeyWord = HttpUtility.UrlDecode(param.KeyWord); return(View( new InternalDataTransferToView { List = InvoiceProvider.List(param), Data = param })); }
public InvoiceSearchController() : this(new LocalizationManager()) { var invoiceConverter = new InvoiceConverter(); var invoiceLoader = new InvoiceLoader(invoiceConverter); var invoiceProvider = new InvoiceProvider(invoiceLoader, invoiceLoader, invoiceConverter); _invoicesLoader = invoiceLoader; _invoiceLoader = invoiceProvider; _invoiceProvider = invoiceProvider; }
public InvoiceEditController() { _invoiceCatalogProvider = new InvoiceCatalogProvider(); var invoiceConverter = new InvoiceConverter(); var invoiceLoader = new InvoiceLoader(invoiceConverter); var invoiceProvider = new InvoiceProvider(invoiceLoader, invoiceLoader, invoiceConverter); _invoiceProvider = invoiceProvider; _savedCartsLoader = invoiceProvider; _discountsLoader = invoiceProvider; _addressLoader = invoiceProvider; _errorLoader = invoiceProvider; }
public ActionResult InvoiceEdit(InvoiceParameter param) { if ((0L < param.Entity.Id)) { param.Entity = InvoiceProvider.GetRecordById(param); } return(View(new InternalDataTransferToView { List = InvoiceProvider.GetDetail(param), //InvoiceProvider.GetDetail(param), Data = param })); }
public InvoiceModel ConvertToInvoiceModel(MemberInvoice memberInvoice, string locale) { var invoiceConverter = new InvoiceConverter(); var invoiceLoader = new InvoiceLoader(invoiceConverter); var invoiceProvider = new InvoiceProvider(invoiceLoader, invoiceLoader, invoiceConverter); return(new InvoiceModel { Address = memberInvoice.Address != null?ConvertToInvoiceAddress(memberInvoice.Address) : null, CreatedDate = memberInvoice.CreatedDate, CustomerId = memberInvoice.CustomerId, Email = memberInvoice.Email, MemberInvoiceNumber = memberInvoice.MemberInvoiceNumber, FirstName = memberInvoice.FirstName, LastName = memberInvoice.LastName, Id = memberInvoice.Id, InvoiceDate = memberInvoice.InvoiceDate, Phone = memberInvoice.Phone, OrderId = memberInvoice.OrderId, Status = memberInvoice.Status.ToString(), Total = memberInvoice.Price != null ? memberInvoice.Price.TotalDue : 0, DisplayTotal = memberInvoice.Price != null?memberInvoice.Price.TotalDue.FormatPrice() : "0.00", Notes = memberInvoice.Notes, MemberId = memberInvoice.MemberId.ToUpper(), TotalVolumePoints = memberInvoice.Price != null ? memberInvoice.Price.TotalVolumePoints : 0, Type = memberInvoice.InvoiceType.ToString(), ShippingMethod = memberInvoice.ShippingMethod, InvoiceShipToAddress = memberInvoice.InvoiceShipToAddress, PricingType = memberInvoice.PriceType, OrderSource = memberInvoice.OrderSource, Source = memberInvoice.Source, ReceiptChannel = memberInvoice.ReceiptChannel, DisplayReceiptChannel = invoiceProvider.GetDisplayReceiptChannel(locale, memberInvoice.ReceiptChannel.ToString()), IsFaceToFace = memberInvoice.IsFaceToFace, InvoicePrice = memberInvoice.Price != null?ConvertToInvoicePrice(memberInvoice.Price) : null, IsGdoMemberPricing = memberInvoice.InvoiceType.ToString() == "Distributor", Vat = (string.IsNullOrEmpty(memberInvoice.Vat) && locale.Substring(3) == "GB") ? (string) HttpContext.GetLocalResourceObject("/Views/Invoice/Display.cshtml", "VatEmptyValue", CultureInfo.CurrentCulture) : memberInvoice.Vat, ApplicationCountryCode = memberInvoice.ApplicationCountryCode, DisplayInvoiceStatus = invoiceProvider.GetDisplayInvoiceStatus(locale, memberInvoice.Status.ToString()), DisplayPaymentType = invoiceProvider.GetDisplayPaymentType(locale, memberInvoice.PaymentType.ToString()), DisplayInvoiceType = invoiceProvider.GetDisplayInvoiceType(locale, memberInvoice.InvoiceType.ToString()), isProfitable = memberInvoice.IsProfitable, isPurchased = memberInvoice.IsPurchased, PaymentType = memberInvoice.PaymentType, }); }
public InvoiceBaseController() : this(new LocalizationManager()) { var invoiceConverter = new InvoiceConverter(); var invoiceLoader = new InvoiceLoader(invoiceConverter); var invoiceProvider = new InvoiceProvider(invoiceLoader, invoiceLoader, invoiceConverter); _invoiceLoader = invoiceProvider; _invoiceProvider = invoiceProvider; _statesLoader = invoiceProvider; _statusLoader = invoiceProvider; _PaymentTypeLoader = invoiceProvider; _invoiceCatalogProvider = new InvoiceCatalogProvider(); }
protected void btnConfirmYes_Click(object sender, EventArgs e) { try { //clear the session values as we are cancelling the changes now & also the cache for a cancel var invoice = Session["Invoice"] as Invoice; if (invoice != null) { InvoiceProvider.ExpireInvoicesCache(invoice.DistributorID); } Session["Invoice"] = null; Response.Redirect("~/Bizworks/myinvoices.aspx", true); } catch (System.Threading.ThreadAbortException) { } //suppress the thread export exception }
public ActionResult AjaxInvoiceDelete(InvoiceParameter param) { var result = new JsonNetResult(); var r = new GeneralResponse(); try { r.Code = InvoiceProvider.Delete(param).ToString(Section.Get.Common.Culture); } catch (Exception ex) { Log.Error(ex.Message, ex); r.Code = "-11"; } result.Data = r; return(result); }
public ActionResult AjaxInvoiceEdit(InvoiceParameter param) { var result = new JsonNetResult(); var r = new GeneralResponse(); try { r.Code = (0L < param.Entity.Id ? InvoiceProvider.Update(param) : InvoiceProvider.Create(param)).ToString(Section.Get.Common.Culture); } catch (Exception ex) { Log.Error(ex.Message, ex); r.Code = "-11" + ex.Message; } result.Data = r; return(result); }
protected void OnDeleteInvoiceClick(object sender, EventArgs e) { try { if (Session["Invoice"] != null) { var invoice = Session["Invoice"] as Invoice; var checkDelete = InvoiceProvider.DeleteInvoice(invoice.DistributorID, invoice.ID, invoice.ContactInfoID); if (checkDelete) { Response.Redirect("~/Bizworks/MyInvoices.aspx"); } } } catch (Exception ex) { MyHLWebUtil.LogExceptionWithContext(ex); } }
public void OnSavePdfClick(object sender, EventArgs e) { try { var invoicePdfName = "CustomerInvoice.pdf"; if (Session["Invoice"] != null) { var invoice = Session["Invoice"] as Invoice; if (invoice != null) { invoicePdfName = String.Format("Invoice{0:000000}{1}.pdf", invoice.DistributorInvoiceNumber, invoice.LastName); } } var htmlContent = HhtmlContent.Value; var pdfBytes = InvoiceProvider.GenerateInvoicePdf(htmlContent, "tJ+GlIaGlIWFlIKahJSHhZqFhpqNjY2N"); var contentDisposition = Request.QueryString["disposition"] == null ? "inline" : Request.QueryString["disposition"].ToString(); if (null != pdfBytes && pdfBytes.Length > 0) { Response.Clear(); Response.ClearHeaders(); Response.Charset = ""; Response.ContentType = "application/pdf"; Response.AddHeader("Pragma", "public"); Response.AddHeader("content-disposition", string.Format("{0}; filename ={1}", contentDisposition, invoicePdfName)); Response.BinaryWrite(pdfBytes); Response.Flush(); try { Response.End(); } catch { } } } catch (Exception ex) { MyHLWebUtil.LogExceptionWithContext(ex); } }
protected void Page_Load(object sender, EventArgs e) { Response.Redirect("~/Ordering/Invoice"); Response.End(); if (!HLConfigManager.Configurations.DOConfiguration.AllowToCreateInvoice) { Response.Redirect("~/Ordering/Catalog.aspx"); Response.End(); } int invoiceId = 0; int.TryParse(Request.QueryString["invoiceId"], out invoiceId); var member = (MembershipUser <DistributorProfileModel>)Membership.GetUser(); string DistributorID = member.Value.Id; var invoice = InvoiceProvider.GetDetailedInvoice(DistributorID, invoiceId); if (invoice != null) { lblError.Visible = false; displayInvoice.Visible = true; //begin - shan - mar 09, 2012 - set invoice date insterad of created date //displayInvoice.InvoiceDate = (invoice.CreatedDate == null) ? "" : invoice.CreatedDate.ToString("MM/dd/yyyy"); //set standard date format //displayInvoice.InvoiceDate = (DateTime.MinValue == invoice.InvoiceDate) ? string.Empty : invoice.InvoiceDate.ToString("MM/dd/yyyy"); displayInvoice.InvoiceDate = (DateTime.MinValue == invoice.InvoiceDate) ? string.Empty : invoice.InvoiceDate.ToString("d"); //set invoice number formatted to be of six digits //displayInvoice.InvoiceNumber = invoice.DistributorInvoiceNumber.ToString(); displayInvoice.InvoiceNumber = invoice.DistributorInvoiceNumber.ToString("000000"); //end displayInvoice.FullName = invoice.FirstName + " " + invoice.LastName; displayInvoice.Shipto = invoice.Address1 + ((String.IsNullOrEmpty(invoice.Address2.Trim())) ? "" : ("<br />" + invoice.Address2)) + "<br />" + invoice.City + ", " + invoice.State + " " + invoice.PostalCode; displayInvoice.Phone = invoice.PhoneNumber; displayInvoice.Email = invoice.Email; displayInvoice.InvoiceType = Resources.InvoiceTypes.ResourceManager.GetString(invoice.Type.ToString()); displayInvoice.InvoiceStatus = Resources.InvoiceStatusTypes.ResourceManager.GetString(invoice.Status.ToString()); displayInvoice.Notes = invoice.Notes; displayInvoice.SendPaymentTo = invoice.PaymentAddress; //shan - mar 09, 2012 - need to display total price and subtotal decimal totalPrice = 0; invoice.InvoiceSkus.ForEach(sku => { totalPrice += sku.TotalPrice; }); displayInvoice.Price = totalPrice.ToString("N2", CultureInfo.GetCultureInfo("en-US")); displayInvoice.LoyaltyProgram = invoice.CustomerDiscount.ToString("N2", CultureInfo.GetCultureInfo("en-US")); displayInvoice.Subtotal = (totalPrice - invoice.CustomerDiscount).ToString("N2", CultureInfo.GetCultureInfo("en-US")); //begin - shan - mar 14, 2012 - set tax and shipping based on amount or percentage entered //current property will display value only if tax amount exists..it will display 0 if tax percentage has been entered //displayInvoice.Tax = invoice.TaxAmount.ToString("N2", CultureInfo.GetCultureInfo("en-US")); //displayInvoice.Shipping = invoice.ShippingAmount.ToString("N2", CultureInfo.GetCultureInfo("en-US")); displayInvoice.Tax = ((invoice.TaxAmount == 0) ? Math.Round((invoice.TaxPercentage / 100 * (totalPrice - invoice.CustomerDiscount)), 2) : invoice.TaxAmount). ToString("N2", CultureInfo.GetCultureInfo("en-US")); displayInvoice.Shipping = ((invoice.ShippingAmount == 0) ? Math.Round((invoice.ShippingPercentage / 100 * (totalPrice - invoice.CustomerDiscount)), 2) : invoice.ShippingAmount). ToString("N2", CultureInfo.GetCultureInfo("en-US")); //end displayInvoice.TotalDue = invoice.TotalDue.ToString("N2", CultureInfo.GetCultureInfo("en-US")); displayInvoice.BindInvoiceSkuData(invoice); } else { lblError.Visible = true; displayInvoice.Visible = false; } if (null != Page.Master) { (Master as OrderingMaster).gdoNavMidCSS("gdo-nav-mid col-sm-7 gdo-nav-mid-invoices"); } }
public void SetInvoiceDistributorNumber(string distributorID) { //shan - mar 14, 2012 - to set invoice number formatted to six digits //ltInvoiceNumber.Text = InvoiceProvider.GetNextDistributorInvoiceNumber(distributorID).ToString(); ltInvoiceNumber.Text = InvoiceProvider.GetNextDistributorInvoiceNumber(distributorID).ToString("000000"); }
public void BindData(Invoice invoice, string actionMode) { try { //Edit mode, load data from DB //begin - shan - mar 08, 2012 - check if the date exists before setting to date pciker control //rdpInvoiceDate.SelectedDate = invoice.CreatedDate; rdpInvoiceDate.SelectedDate = DateTime.MinValue == invoice.InvoiceDate ? DateTime.Today : invoice.InvoiceDate; rdpInvoiceDate.SelectedDate = actionMode == "Copy" ? DateTime.Today : rdpInvoiceDate.SelectedDate; //end ltInvoiceDate.Text = rdpInvoiceDate.SelectedDate != null?rdpInvoiceDate.SelectedDate.Value.ToString("MM/dd/yyyy") : string.Empty; txtInvoiceNumber.Text = (string.IsNullOrEmpty(actionMode) || actionMode == "Edit") ? invoice.DistributorInvoiceNumber.ToString() : InvoiceProvider.GetNextDistributorInvoiceNumber(invoice.DistributorID).ToString(); //shan - mar 14, 2012 - to set invoice number formatted to six digits //ltInvoiceNumber.Text = (string.IsNullOrEmpty(actionMode) || actionMode == "Edit") ? invoice.DistributorInvoiceNumber.ToString() : // InvoiceProvider.GetNextDistributorInvoiceNumber(invoice.DistributorID).ToString(); ltInvoiceNumber.Text = (string.IsNullOrEmpty(actionMode) || actionMode == "Edit") ? invoice.DistributorInvoiceNumber.ToString("000000") : InvoiceProvider.GetNextDistributorInvoiceNumber(invoice.DistributorID).ToString("000000"); txtFirstName.Text = invoice.FirstName; txtLastName.Text = invoice.LastName; ltName.Text = invoice.FirstName + " " + invoice.LastName; txtAddress.Text = invoice.Address1 + " " + invoice.Address2; ltAddress.Text = invoice.Address1 + " " + invoice.Address2; txtCity.Text = invoice.City; if (null != ddlState && null != ddlState.Items && ddlState.Items.Count == 0) { BindStatesReference(); } ddlState.SelectedIndex = ddlState.Items.IndexOf(ddlState.Items.FindByValue(invoice.State)); if (!String.IsNullOrEmpty(invoice.PostalCode)) { var arrPostalCodes = invoice.PostalCode.Split('-'); txtZip.Text = arrPostalCodes[0]; if (arrPostalCodes.Length > 1) { txtZip2.Text = arrPostalCodes[1]; } else { txtZip2.Text = string.Empty; } } else { txtZip.Text = string.Empty; txtZip2.Text = string.Empty; } var txtPostal = String.IsNullOrEmpty(txtZip.Text) ? "" : " / " + txtZip.Text; ltCityState.Text = invoice.City; txtCity.Text = invoice.City; txtPhone.Text = invoice.PhoneNumber; ltPhone.Text = invoice.PhoneNumber; txtEmail.Text = invoice.Email; ltEmail.Text = invoice.Email; if (invoice.Type == InvoiceType.customer) { rbCustomer.Checked = true; rbDistributor.Checked = false; } else { rbCustomer.Checked = false; rbDistributor.Checked = true; } ltInvoiceType.Text = invoice.Type.ToString(); ltSubtotalTotalVolumePoints.Text = invoice.TotalVolumePoints.ToString("N2", CultureInfo.GetCultureInfo("en-US")); decimal totalAmount = 0; foreach (var sku in invoice.InvoiceSkus) { totalAmount = totalAmount + sku.TotalPrice; } ltSubtotalTotalPrice.Text = totalAmount.ToString("N2", CultureInfo.GetCultureInfo("en-US")); //shan - set value only if it is > 0 //txtLoyaltyAmount.Text = invoice.DiscountedAmount.ToString("N2", CultureInfo.GetCultureInfo("en-US")); //txtLoyaltyPercentage.Text = invoice.DiscountPercentage.ToString("N2", CultureInfo.GetCultureInfo("en-US")); txtLoyaltyAmount.Text = invoice.DiscountedAmount > 0 ? invoice.DiscountedAmount.ToString("N2", CultureInfo.GetCultureInfo("en-US")) : string.Empty; txtLoyaltyPercentage.Text = invoice.DiscountPercentage > 0 ? invoice.DiscountPercentage.ToString("N2", CultureInfo.GetCultureInfo("en-US")) : string.Empty; ltDiscount.Text = invoice.CustomerDiscount.ToString(); ltNetSubtotal.Text = (totalAmount - invoice.CustomerDiscount).ToString("N2", CultureInfo.GetCultureInfo("en-US")); //shan - mar 14, 2012 - prefix customer loyalty program with the percentage in view mode, if exists.. ltLoyaltyCaption.Text = (string.IsNullOrEmpty(actionMode) && null != invoice && 0 < invoice.DiscountPercentage) ? invoice.DiscountPercentage.ToString("N2", CultureInfo.GetCultureInfo("en-US")) + "%" + " " + GetLocalResourceString("ltLoyaltyCaption.Text", "Customer Loyalty Program:") : GetLocalResourceString("ltLoyaltyCaption.Text", "Customer Loyalty Program:"); } catch (Exception ex) { MyHLWebUtil.LogExceptionWithContext(ex); } }
private List <Invoice> searchInvoices(SearchTypes searchType, SearchFilterTypes filterType) { //begin - shan - mar 14, 2012 - set default value to be error value (-999) //based on that differentiate whether zero has been entered or fields has been left empty //while searching based on the amount //decimal startAmount = 0; //decimal.TryParse(txtStartAmount.Text.Trim(), out startAmount); //decimal endAmount = 0; //decimal.TryParse(txtEndAmount.Text.Trim(), out endAmount); var invoices = new List <Invoice>(); decimal startAmount = -999; decimal endAmount = -999; startAmount = decimal.TryParse(txtStartAmount.Text.Trim(), out startAmount) ? startAmount : -999; endAmount = decimal.TryParse(txtEndAmount.Text.Trim(), out endAmount) ? endAmount : -999; var searchValue = txtSearchBy.Text.Trim(); if (searchType == SearchTypes.ByDateOrAmount) { invoices = InvoiceProvider.SearchInvoice(new InvoiceSearchFilter() { SearchByDateOrAmount = true, FromDate = FromDate.SelectedDate, ToDate = ToDate.SelectedDate, StartAmount = (0 > startAmount) ? (decimal?)null : startAmount, EndAmount = (0 > endAmount) ? (decimal?)null : endAmount, }, DistributorID); } else { var searchFilter = new InvoiceSearchFilter(); searchFilter.SearchByDateOrAmount = false; searchFilter.FirstName = (filterType == SearchFilterTypes.FirstName) ? searchValue : string.Empty; searchFilter.LastName = (filterType == SearchFilterTypes.LastName) ? searchValue : string.Empty; searchFilter.StreetAddress = (filterType == SearchFilterTypes.StreetAddress) ? searchValue : string.Empty; searchFilter.City = (filterType == SearchFilterTypes.City) ? searchValue : string.Empty; searchFilter.State = (filterType == SearchFilterTypes.State) ? searchValue : string.Empty; searchFilter.ZipCode = (filterType == SearchFilterTypes.ZipCode) ? searchValue : string.Empty; searchFilter.SKU = (filterType == SearchFilterTypes.SKU) ? searchValue : string.Empty; searchFilter.Description = (filterType == SearchFilterTypes.Description) ? searchValue : string.Empty; //begin - shan - mar 14, 2012 - assign null based on error value //to differentiate whether to search by 0 or empty field //based on this, while filtering check for null or 0 decimal parseValue = -999; parseValue = decimal.TryParse(searchValue, out parseValue) ? parseValue : -999; { searchFilter.TotalVolumePoints = (filterType == SearchFilterTypes.TotalVolumePoints) ? (0 < parseValue ? parseValue : (decimal?)null) : (decimal?)null; searchFilter.InvoiceTotal = (filterType == SearchFilterTypes.InvoiceTotal) ? (0 < parseValue ? parseValue : (decimal?)null) : (decimal?)null; } invoices = InvoiceProvider.SearchInvoice(searchFilter, DistributorID); //shan - mar 15, 2012 - to set secondary sorting to be of invoice # //sort the invoices to be ordered by invoice # descendingg //while applying sorting from grid that should get filter as the primary sorting if (null != invoices && invoices.Count > 0) { invoices = invoices.OrderByDescending(inv => inv.DistributorInvoiceNumber).ToList(); } } return(invoices); }
public InvoiceLogic(ref Orders Order, Entities.User _User) { InvoiceProvider = new iCountProvider(Order, _User); }
public Invoice GetInvoiceForm() { var invoice = new Invoice(); try { var member = (MembershipUser <DistributorProfileModel>)Membership.GetUser(); invoice.DistributorID = member.Value.Id; if (rdpInvoiceDate.SelectedDate != null) { invoice.CreatedDate = rdpInvoiceDate.SelectedDate.Value; } //begin - shan - mar 09, 2012 - set invoice date to current date if not available invoice.CreatedDate = DateTime.MinValue == invoice.CreatedDate ? DateTime.Today : invoice.CreatedDate; invoice.InvoiceDate = invoice.CreatedDate; //end long invoiceNumber = 0; long.TryParse(ltInvoiceNumber.Text, out invoiceNumber); invoice.DistributorInvoiceNumber = invoiceNumber; invoice.ID = InvoiceProvider.GetInvoiceIDFromDistributorInvoiceNumber(invoice.DistributorID, invoiceNumber); invoice.ContactInfoID = InvoiceProvider.GetInvoiceContactInfoID(invoice.DistributorID, invoice.ID); invoice.FirstName = txtFirstName.Text; invoice.LastName = txtLastName.Text; invoice.Address1 = txtAddress.Text; invoice.City = txtCity.Text; invoice.State = ddlState.SelectedValue; invoice.PostalCode = txtZip.Text + "-" + txtZip2.Text; invoice.Country = "US"; invoice.PhoneNumber = txtPhone.Text; invoice.Email = txtEmail.Text; invoice.Type = rbCustomer.Checked ? InvoiceType.customer : InvoiceType.distributor; decimal subtotalVolumePoints = 0; decimal.TryParse(ltSubtotalTotalVolumePoints.Text.Trim(), out subtotalVolumePoints); invoice.TotalVolumePoints = subtotalVolumePoints; decimal discountAmount = 0; decimal.TryParse(txtLoyaltyAmount.Text, out discountAmount); invoice.DiscountedAmount = discountAmount; decimal discountPercentage = 0; decimal.TryParse(txtLoyaltyPercentage.Text, out discountPercentage); invoice.DiscountPercentage = discountPercentage; decimal customerDiscount = 0; decimal.TryParse(ltDiscount.Text, out customerDiscount); invoice.CustomerDiscount = Math.Abs(customerDiscount); invoice.InvoiceSkus = GetSkus(); decimal totalPrice = 0; if (null != invoice.InvoiceSkus) { foreach (var sku in invoice.InvoiceSkus) { totalPrice = totalPrice + sku.TotalPrice; } } //shan - to retain the invoice values //if the invoice exists in session get the tax and shipping fields //while redirecting to the same page again those fields shouldn't get lost if (null != Session["Invoice"]) { var invoiceExisting = Session["Invoice"] as Invoice; if (null != invoiceExisting) { //set the values to the new object invoice.TaxAmount = invoiceExisting.TaxAmount; invoice.TaxPercentage = invoiceExisting.TaxPercentage; invoice.ShippingAmount = invoiceExisting.ShippingAmount; invoice.ShippingPercentage = invoiceExisting.ShippingPercentage; invoice.Status = invoiceExisting.Status; invoice.Notes = invoiceExisting.Notes; invoice.PaymentAddress = invoiceExisting.PaymentAddress; } } } catch (Exception ex) { MyHLWebUtil.LogExceptionWithContext(ex); } return(invoice); }
private List <Invoice> searchInvoices(InvoiceSearchFilter searchFilter) { var invoices = InvoiceProvider.SearchInvoice(searchFilter, DistributorID); return(invoices); }
private IList <BillingViewModel> CreateBillingInvoices(int branchID, int billingTypeID, IEnumerable <BillingViewModel> billings, DateTime processDate, int processedByEmployeeID, string billingFileName) { List <BillingViewModel> list = new List <BillingViewModel>(); InvoiceProvider invoiceProvider = new InvoiceProvider(ctx); AutoNumberProvider autoNumberProvider = new AutoNumberProvider(ctx); string autoNumber = autoNumberProvider.Generate(branchID, "BL", processDate.Month, processDate.Year); BillingHeader billingHeader = new BillingHeader(); billingHeader.BatchNo = autoNumber; billingHeader.BillingTypeID = billingTypeID; billingHeader.BranchID = branchID; billingHeader.UserName = ctx.Employees.Single(emp => emp.ID == processedByEmployeeID).UserName; billingHeader.ProcessDate = processDate; billingHeader.FileName = billingFileName; foreach (BillingViewModel billing in billings) { Contract contract = ctx.Contracts.SingleOrDefault(c => c.ContractNo == billing.ContractNo); Customer customer = contract.Customer; PackageHeader package = contract.PackageHeader; if (contract != null && package != null && customer != null) { InvoiceDetailViewModel invoiceDetail = new InvoiceDetailViewModel(); invoiceDetail.InvoiceID = 0; invoiceDetail.ItemID = contract.BillingItemID.Value; invoiceDetail.Quantity = 1; invoiceDetail.UnitPrice = billing.DuesAmount; invoiceDetail.Discount = 0; invoiceDetail.IsTaxable = true; PaymentDetailViewModel paymentDetail = new PaymentDetailViewModel(); paymentDetail.PaymentTypeID = ctx.PaymentTypes.SingleOrDefault(p => p.Description == "Credit Card").ID; paymentDetail.CreditCardTypeID = customer.CreditCardTypeID.HasValue ? customer.CreditCardTypeID.Value : ctx.CreditCardTypes.SingleOrDefault(cc => cc.Description == "Visa").ID; paymentDetail.ApprovalCode = String.Empty; paymentDetail.Amount = billing.DuesAmount; paymentDetail.Notes = "Auto Pay"; paymentDetail.PaymentID = 0; InvoiceHeader invoiceHeader = invoiceProvider.CreateExistingMemberInvoiceForBilling(branchID, processDate, customer.Barcode, processedByEmployeeID, "Auto pay " + contract.ContractNo, 0, new List <InvoiceDetailViewModel>() { invoiceDetail }, new List <PaymentDetailViewModel>() { paymentDetail }); BillingDetail billingDetail = new BillingDetail(); billingDetail.Amount = billing.DuesAmount; billingDetail.Contract = contract; billingDetail.Customer = customer; billingDetail.InvoiceHeader = invoiceHeader; billingDetail.PackageHeader = package; billingHeader.BillingDetails.Add(billingDetail); ctx.BillingHeaders.InsertOnSubmit(billingHeader); billing.Note += "," + invoiceHeader.InvoiceNo; list.Add(billing); } if (contract.NextDuesDate.HasValue) { contract.NextDuesDate = contract.NextDuesDate.Value.AddMonths(contract.DuesInMonth); } } autoNumberProvider.Increment("BL", branchID, processDate.Year); ctx.SubmitChanges(); return(list); }