public override SAPResponse ExecuteQuery() { var cred = ParseCredential(Username); var resp = new BillingNumberItemsDTO(); var dest = SAPConnectionFactory.Instance.GetRfcDestination(cred); if (dest == null) { return(null); } var repo = dest.Repository; var func = repo.CreateFunction(FUNCTIONAL_BAPI); func.SetValue("SOLD_TO", _soldToParty); func.SetValue("BILLING_START_DATE", _startDate.ToString("yyyyMMdd")); func.SetValue("BILLING_END_DATE", _endDate.ToString("yyyyMMdd")); func.SetValue("BILLING_TYPE", "ZF9"); func.Invoke(dest); var billNumsTbl = func.GetTable("BILLING_DOC"); var rawList = new List <InvoiceProformaBillingNumberDTO>(); for (var a = 0; a < billNumsTbl.RowCount; a++) { billNumsTbl.CurrentIndex = a; var it = new InvoiceProformaBillingNumberDTO(); SAPDataCopier.Instance.CopyFromStruct(billNumsTbl.CurrentRow, it); rawList.Add(it); var li = new BillingNumberItemDTO { BillingDocNumber = it.VBELN, CreateTime = DateTime.ParseExact(it.ERZET, "HH:mm:ss", CultureInfo.InvariantCulture), CreatedBy = it.ERNAM, CreatedDate = DateTime.ParseExact(it.ERDAT, "yyyy-MM-dd", CultureInfo.InvariantCulture) }; resp.Numbers.Add(li); } InMemoryCache.Instance.ClearCached(Username + Suffix.REQUEST_HEADER); InMemoryCache.Instance.ClearCached(Username + Suffix.QUERIED_BILLING_NUMBERS); var head = new RunInvoiceHeaderDTO { BillingDateFrom = _startDate, BillingDateTo = _endDate, SoldToParty = _soldToParty }; InMemoryCache.Instance.Cache(Username + Suffix.REQUEST_HEADER, head); InMemoryCache.Instance.Cache(Username + Suffix.QUERIED_BILLING_NUMBERS, rawList.ToArray()); return(resp); }
protected int CountZeroVersion(RunInvoiceHeaderDTO head, BillingDbContext dao) { var sql = from o in dao.InvoiceProformaHeaders.Where(o => o.BillingBlock == head.BillingDocsCriteria && o.ReasonForRejection == head.ReasonForRejection && o.ProformaFlag == head.ProformaFlag && o.BillingNo == head.BillingNo && o.SoldToParty == head.SoldToParty && o.Version == 0) select o; return(sql.Count()); }
/// <summary> /// /// </summary> /// <param name="runInvoiceHeaderDto"></param> /// <returns></returns> public static RunProformaInvoiceHeaderViewModel GenerateRunProformaInvoiceViewModel( RunInvoiceHeaderDTO runInvoiceHeaderDto) { return(new RunProformaInvoiceHeaderViewModel { CreatedBy = runInvoiceHeaderDto.CreatedBy, BillingRun = string.IsNullOrEmpty(runInvoiceHeaderDto.BillingRun) ? SharedResource.NotReady : runInvoiceHeaderDto.BillingRun, BillingType = ProformaInvoiceResource.BillingTypeMSTProformaInvoice, BillingDateFrom = runInvoiceHeaderDto.BillingDateFrom.ToString(ConfigResource.FormatDate), BillingDateTo = runInvoiceHeaderDto.BillingDateTo.ToString(ConfigResource.FormatDate), SoldToParty = runInvoiceHeaderDto.SoldToParty, CreatedOn = Convert.ToString(Convert.ToDateTime(runInvoiceHeaderDto.CreateOn).ToString("dd MMM yyyy")), Time = runInvoiceHeaderDto.Time }); }
public override SAPResponse ExecuteQuery() { System.Diagnostics.Debug.WriteLine("<HEADER_QUERY FROM = 'DATABASE'>"); using (var dao = new BillingDbContext()) { var sql = from o in dao.InvoiceProformaHeaders.Where(o => o.No == _no) select o; var dbRawHead = sql.FirstOrDefault(); if (dbRawHead != null) { var ver = "Final"; if (dbRawHead.Draft) { ver = "Draft"; } var head = new RunInvoiceHeaderDTO { BillingDateFrom = dbRawHead.StartDate, BillingDateTo = dbRawHead.EndDate, BillingDocsCriteria = dbRawHead.BillingBlock, BillingNo = dbRawHead.BillingNo, ReasonForRejection = dbRawHead.ReasonForRejection, SoldToParty = dbRawHead.SoldToParty, Version = dbRawHead.Version.ToString(CultureInfo.InvariantCulture), CreatedBy = dbRawHead.ERNAM, CreateOn = dbRawHead.ERDAT, Time = dbRawHead.ERZET, ProformaFlag = dbRawHead.ProformaFlag, BillingType = Properties.Settings.Default.BillingType, SoldToPartyName = dbRawHead.SoldToParty, Draft = dbRawHead.Draft, BillingRun = dbRawHead.SoldToParty + " | " + dbRawHead.Version + " | " + dbRawHead.Created.ToString("dd MMM yyyy") + " | " + ver }; InMemoryCache.Instance.ClearCached(Username + Suffix.REQUEST_HEADER); InMemoryCache.Instance.Cache(Username + Suffix.REQUEST_HEADER, head); var rawHead = new InvoiceProformaHeaderDto { CITY1 = dbRawHead.CITY1, ERDAT = dbRawHead.ERDAT, ERNAM = dbRawHead.ERNAM, ERZET = dbRawHead.ERZET, FKDAT = dbRawHead.FKDAT, FPAJAK_NO = dbRawHead.FPAJAK_NO, HTOTAL1 = dbRawHead.HTOTAL1, HTOTAL2 = dbRawHead.HTOTAL2, HTOTAL3 = dbRawHead.HTOTAL3, HTOTAL4 = dbRawHead.HTOTAL4, HTOTAL5 = dbRawHead.HTOTAL5, KUNRG = dbRawHead.KUNRG, KURRF = dbRawHead.KURRF, NAME1 = dbRawHead.NAME1, NAME2 = dbRawHead.NAME2, NAME3 = dbRawHead.NAME3, NAME4 = dbRawHead.NAME4, No = dbRawHead.No, POST_CODE1 = dbRawHead.POST_CODE1, STCEG = dbRawHead.STCEG, STREET = dbRawHead.STREET, TDLINE = dbRawHead.TDLINE, TEXT1 = dbRawHead.TEXT1, VBELN = dbRawHead.VBELN, VTEXT = dbRawHead.VTEXT, WAERK = dbRawHead.WAERK, ZTERM = dbRawHead.ZTERM }; InMemoryCache.Instance.ClearCached(Username + Suffix.QUERIED_PROFORMA_HEADER); InMemoryCache.Instance.Cache(Username + Suffix.QUERIED_PROFORMA_HEADER, rawHead); InMemoryCache.Instance.ClearCached(Username + Suffix.QUERIED_VERSION_FROM_DB); InMemoryCache.Instance.Cache(Username + Suffix.QUERIED_VERSION_FROM_DB, dbRawHead.Version); System.Diagnostics.Debug.WriteLine("<HEADER_QUERY VERSION = '" + head.Version + "'/>"); InMemoryCache.Instance.ClearCached(Username + Suffix.QUERIED_FROM_DB); InMemoryCache.Instance.Cache(Username + Suffix.QUERIED_FROM_DB, true); System.Diagnostics.Debug.WriteLine("</HEADER_QUERY>"); return(head); } throw new FaultException("Selected header is null!"); } }