Example #1
0
 public void EditDemandHeader(int id, [FromBody] DemandHeader demandHeader)
 {
     if (id == demandHeader.DphId)
     {
         db.Entry(demandHeader).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
         db.SaveChanges();
     }
 }
Example #2
0
        public void Delete(int id)
        {
            DemandHeader demandHeader = db.DemandHeader.Find(id);

            if (demandHeader != null)
            {
                db.DemandHeader.Remove(demandHeader);
                db.SaveChanges();
            }
        }
Example #3
0
        public async Task <DemandHeader> GetDemandHeader(string location, DemandHeader dh)
        {
            using (IDbConnection conn = Connection(location))
            {
                string partNos = "";

                foreach (Demand d in dh.DemandItems)
                {
                    if (partNos.Length > 0)
                    {
                        partNos = partNos + "," + d.ItemNo.Trim();
                    }
                    else
                    {
                        partNos = d.ItemNo.Trim();
                    }
                }

                string newInClause = "('" + partNos.Replace(",", "','") + "')";

                string sQuery = "SELECT 1 AS DemandHeaderId, CAST(EDW.DimOrchidYearPeriod.OrchidYear AS VARCHAR(4)) +  CAST(EDW.DimOrchidYearPeriod.OrchidPeriod AS VARCHAR(2)) + CASE WHEN LEFT(REVERSE(EDW.DimItem.PartNo), 6) = 'IDNAS-' THEN LEFT(EDW.DimItem.PartNo, LEN(EDW.DimItem.PartNo) - 6) ELSE EDW.DimItem.PartNo END AS UniqueKey, SUM(EDW.FactInvoice.ShipQty) AS TotalQty, EDW.DimOrchidYearPeriod.OrchidYear, EDW.DimOrchidYearPeriod.OrchidPeriod, CASE WHEN LEFT(REVERSE(EDW.DimItem.PartNo), 6) = 'IDNAS-' THEN LEFT(EDW.DimItem.PartNo, LEN(EDW.DimItem.PartNo) - 6) ELSE EDW.DimItem.PartNo END AS ItemNo, EDW.DimItem.PartRev AS ItemRev, EDW.DimOrchidSite.OrchidSiteNumber FROM EDW.DimItem INNER JOIN EDW.DimDate INNER JOIN EDW.DimOrchidYearPeriod ON EDW.DimDate.OrchidYearPeriodId = EDW.DimOrchidYearPeriod.OrchidYearPeriodId INNER JOIN EDW.FactInvoice ON EDW.DimDate.DateId = EDW.FactInvoice.DateId ON EDW.DimItem.ItemId = EDW.FactInvoice.ItemId INNER JOIN EDW.DimVersion ON EDW.FactInvoice.VersionId = EDW.DimVersion.VersionId INNER JOIN EDW.DimOrchidSite ON EDW.DimItem.OrchidSiteId = EDW.DimOrchidSite.OrchidSiteId WHERE (EDW.DimVersion.VersionName = N'Current Demand Forecast') AND (CASE WHEN LEFT(REVERSE(EDW.DimItem.PartNo), 6) = 'IDNAS-' THEN LEFT(EDW.DimItem.PartNo, LEN(EDW.DimItem.PartNo) - 6) ELSE EDW.DimItem.PartNo END IN " + newInClause + ") AND (EDW.DimOrchidSite.OrchidSiteNumber = @siteno) AND (EDW.DimOrchidYearPeriod.OrchidYear >= YEAR(GETDATE())) GROUP BY EDW.DimOrchidYearPeriod.OrchidYear, EDW.DimOrchidYearPeriod.OrchidPeriod, EDW.DimItem.PartRev, EDW.DimOrchidSite.OrchidSiteNumber, CASE WHEN LEFT(REVERSE(EDW.DimItem.PartNo), 6) = 'IDNAS-' THEN LEFT(EDW.DimItem.PartNo, LEN(EDW.DimItem.PartNo) - 6) ELSE EDW.DimItem.PartNo END";

                using (var connection = Connection(location))
                {
                    var soDictionary = new Dictionary <int, DemandHeader>();

                    var list = connection.Query <DemandHeader, Demand, DemandHeader>(
                        sQuery,
                        (dHeader, d) =>
                    {
                        DemandHeader dhEntry;

                        if (!soDictionary.TryGetValue(dHeader.DemandHeaderId, out dhEntry))
                        {
                            dhEntry             = dHeader;
                            dhEntry.DemandItems = new List <Demand>();
                            soDictionary.Add(dhEntry.DemandHeaderId, dhEntry);
                        }
                        dhEntry.DemandItems.Add(d);


                        return(dhEntry);
                    },
                        param: new { siteno = location },
                        splitOn: "UniqueKey")
                               .Distinct()
                               .ToList();

                    return(soDictionary.FirstOrDefault().Value);
                }
            }
        }
Example #4
0
 public async Task <ActionResult <DemandHeader> > GetDemandHeader(string location, DemandHeader dh)
 {
     return(await _demandData.GetDemandHeader(location, dh));
 }
Example #5
0
 public void CreateDemandHeader([FromBody] DemandHeader demandHeader)
 {
     db.DemandHeader.Add(demandHeader);
     db.SaveChanges();
 }
Example #6
0
        public DemandHeader Get(int id)
        {
            DemandHeader demandHeader = db.DemandHeader.Find(id);

            return(demandHeader);
        }