예제 #1
0
        private int DeleteTblRecInvMainDetailProd(TblRecInvMainDetailProd row, int index, string company)
        {
            using (var entity = new WorkFlowManagerDBEntities())
            {
                var query = (from e in entity.TblRecInvMainDetailProds
                             where e.Iserial == row.Iserial
                             select e).SingleOrDefault();
                if (query != null)
                {
                    entity.DeleteObject(query);
                }

                entity.SaveChanges();
            }
            return(row.Iserial);
        }
예제 #2
0
        private TblRecInvMainDetailProd UpdateOrInsertTblRecInvMainDetailProd(TblRecInvMainDetailProd newRow, bool save, int index, out int outindex, string company, out double TotalQty, out double TotalAmount)
        {
            outindex = index;
            using (var entity = new WorkFlowManagerDBEntities())
            {
                if (save)
                {
                    entity.TblRecInvMainDetailProds.AddObject(newRow);
                }
                else
                {
                    var oldRow = (from e in entity.TblRecInvMainDetailProds
                                  where e.Iserial == newRow.Iserial
                                  select e).SingleOrDefault();
                    if (oldRow != null)
                    {
                        GenericUpdate(oldRow, newRow, entity);
                        var row =
                            entity.TblRecInvDetailProds.Where(
                                x => x.TblRecInvHeaderProd == newRow.TblRecInvHeaderProd && x.Tblitem == newRow.TblItem && x.ItemType == newRow.ItemType).ToList();

                        foreach (var TblRecInvMainDetailProd in row)
                        {
                            TblRecInvMainDetailProd.Cost         = newRow.Cost;
                            TblRecInvMainDetailProd.ExchangeRate = newRow.ExchangeRate;
                        }
                    }
                }

                entity.SaveChanges();
                TotalQty    = entity.TblRecInvMainDetailProds.Where(x => x.TblRecInvHeaderProd == newRow.TblRecInvHeaderProd).Sum(x => x.Qty);
                TotalAmount = entity.TblRecInvMainDetailProds.Where(x => x.TblRecInvHeaderProd == newRow.TblRecInvHeaderProd).Sum(x => x.Qty * x.Cost);

                return(newRow);
            }
        }
예제 #3
0
 private TblRecInvHeaderProd GetTblRecieveDetail(List <int?> headerProds, TblRecInvHeaderProd tblRecInvHeaderProd, string company)
 {
     using (var entity = new WorkFlowManagerDBEntities())
     {
         tblRecInvHeaderProd.Code         = HandelSequence(tblRecInvHeaderProd.Code, company);
         tblRecInvHeaderProd.CreationDate = DateTime.Now;
         entity.TblRecInvHeaderProds.AddObject(tblRecInvHeaderProd);
         entity.SaveChanges();
         foreach (var headerProd in headerProds)
         {
             entity.TblRecInvHeaderLinkProds.AddObject(new TblRecInvHeaderLinkProd
             {
                 TblRecInvHeaderProd      = tblRecInvHeaderProd.Iserial,
                 TblRecInvHeaderTypeProd  = tblRecInvHeaderProd.TblRecInvHeaderTypeProd,
                 TblPurchaseReceiveHeader = (int)headerProd
             });
         }
         string comand = "select tblPurchaseReceiveDetail.BatchNo,TblPurchaseOrderDetailRequest.ItemId Style,TblPurchaseOrderDetailRequest.FabricColor TblColor,TblPurchaseOrderDetailRequest.Size SizeCode,TblPurchaseOrderHeaderRequest.TblCurrency Currency" +
                         ",CAST( isnull(SUM(TblPurchaseReceiveDetail.Qty*TblPurchaseReceiveDetail.Cost)/SUM(TblPurchaseReceiveDetail.Qty),0) AS DECIMAL(19,4)) Cost" +
                         ",CAST(sum(TblPurchaseReceiveDetail.Qty) AS DECIMAL(19,4)) Quantity  from TblPurchaseReceiveDetail" +
                         " inner join TblPurchaseOrderDetailRequest on TblPurchaseOrderDetailRequest.Iserial= TblPurchaseReceiveDetail.TblPurchaseOrderDetailRequest" +
                         " inner join TblPurchaseOrderHeaderRequest on TblPurchaseOrderDetailRequest.TblPurchaseOrderHeaderRequest=TblPurchaseOrderHeaderRequest.Iserial" +
                         " where  TblPurchaseReceiveDetail.TblPurchaseReceiveHeader in ({0}) " +
                         " group by TblPurchaseReceiveDetail.BatchNo,TblPurchaseOrderDetailRequest.ItemId,TblPurchaseOrderDetailRequest.FabricColor,Size,TblPurchaseOrderHeaderRequest.TblCurrency ";
         comand = comand.Replace("{0}", string.Join(",", headerProds));
         List <RecInvDataTable> List = entity.ExecuteStoreQuery <RecInvDataTable>(comand).ToList();
         foreach (var row in List)
         {
             var firstOrDefault = entity.Fabric_UnitID.FirstOrDefault(x => x.Fabric_Code == row.Style);
             if (firstOrDefault != null)
             {
                 var styleIserial = firstOrDefault;
                 var newRow       = new TblRecInvMainDetailProd
                 {
                     ItemType            = firstOrDefault.Type,
                     Cost                = (double)row.Cost,
                     TblCurrency         = row.Currency,
                     Qty                 = (double)row.Quantity,
                     TblItem             = styleIserial.Iserial,
                     TblRecInvHeaderProd = tblRecInvHeaderProd.Iserial,
                     SizeCode            = row.SizeCode,
                     TblColor            = row.TblColor,
                     BatchNo             = row.BatchNo,
                     ExchangeRate        = 1
                 };
                 entity.TblRecInvMainDetailProds.AddObject(newRow);
             }
         }
         IQueryable <TblPurchaseReceiveDetail> query = entity.TblPurchaseReceiveDetails.Include("TblPurchaseOrderDetailRequest1").Where(x => headerProds.Contains(x.TblPurchaseReceiveHeader));
         foreach (var row in query)
         {
             var firstOrDefault = entity.Fabric_UnitID.FirstOrDefault(x => x.Fabric_Code == row.TblPurchaseOrderDetailRequest1.ItemId);
             if (firstOrDefault != null)
             {
                 var recDetail = new TblRecInvDetailProd
                 {
                     Cost = row.Cost,
                     TblRecInvHeaderProd = tblRecInvHeaderProd.Iserial,
                     Dserial             = row.Iserial,
                     Flg          = 0,
                     Glserial     = (int)row.TblPurchaseReceiveHeader,
                     Tblitem      = firstOrDefault.Iserial,
                     ItemType     = firstOrDefault.Type,
                     TblColor     = row.TblPurchaseOrderDetailRequest1.FabricColor,
                     BatchNo      = row.BatchNo,
                     SizeCode     = row.TblPurchaseOrderDetailRequest1.Size,
                     ExchangeRate = 1
                 };
                 entity.TblRecInvDetailProds.AddObject(recDetail);
             }
         }
         entity.SaveChanges();
     }
     return(tblRecInvHeaderProd);
 }