private InvoiceSearchFilter CreateContactSearchFilter(Contact_V01 invoiceContact) { var searchFilter = new InvoiceSearchFilter(); try { if (null != invoiceContact) { searchFilter.SearchByDateOrAmount = false; if (null != invoiceContact.EnglishName) { if (!string.IsNullOrEmpty(invoiceContact.EnglishName.First)) { searchFilter.FirstName = invoiceContact.EnglishName.First; } if (!string.IsNullOrEmpty(invoiceContact.EnglishName.Last)) { searchFilter.LastName = invoiceContact.EnglishName.Last; } } if (null != invoiceContact.PrimaryAddress) { if (!string.IsNullOrEmpty(invoiceContact.PrimaryAddress.Line1)) { searchFilter.StreetAddress = invoiceContact.PrimaryAddress.Line1; } if (!string.IsNullOrEmpty(invoiceContact.PrimaryAddress.City)) { searchFilter.City = invoiceContact.PrimaryAddress.City; } if (!string.IsNullOrEmpty(invoiceContact.PrimaryAddress.StateProvinceTerritory)) { searchFilter.State = invoiceContact.PrimaryAddress.StateProvinceTerritory; } if (!string.IsNullOrEmpty(invoiceContact.PrimaryAddress.PostalCode)) { searchFilter.ZipCode = invoiceContact.PrimaryAddress.PostalCode; } } } } catch (Exception ex) { MyHLWebUtil.LogExceptionWithContext(ex); } return(searchFilter); }
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); }
private List <Invoice> searchInvoices(InvoiceSearchFilter searchFilter) { var invoices = InvoiceProvider.SearchInvoice(searchFilter, DistributorID); return(invoices); }