Beispiel #1
0
        public bool UpdateInfo(MMS_AdjustContent info)
        {
            var query = from item in dc.MMS_AdjustContent
                        where item.ID == info.ID
                        select item;

            BatchEvaluate.Eval(info, query.First());
            dc.SubmitChanges();
            return(true);
        }
Beispiel #2
0
        /// <summary>
        ///   验证记录中是否有重复值
        /// </summary>
        /// <param name="info"> 实体 </param>
        /// <returns> 如果不重复返回"" </returns>
        public string ValidateRepeat(MMS_AdjustContent info)
        {
            int cnt1 =
                dc.MMS_AdjustContent.Where(itm => itm.AdjustBillCode == info.AdjustBillCode && itm.ID != info.ID).Count();

            if (cnt1 > 0)
            {
                return("代码重复");
            }
            return("");
        }
Beispiel #3
0
 public int SaveAdjust(TAdjust obj)
 {
     if (obj.Content.ID != null && obj.Content.ID > 0)
     {
         MMS_AdjustContent content = dao.GetInfo(obj.Content.ID);
         if (content.AuditFlag == true)
         {
             throw new Exception("该单据已经审核" + content.AdjustBillCode);
         }
     }
     return(dao.SaveAdjust(obj));
 }
Beispiel #4
0
        public int InsertInfo(MMS_AdjustContent info)
        {
            string msg = dao.ValidateRepeat(info);

            if (msg == "")
            {
                return(dao.InsertInfo(info));
            }
            else
            {
                throw new Exception(msg);
            }
        }
Beispiel #5
0
 public int InsertInfo(MMS_AdjustContent info)
 {
     dc.MMS_AdjustContent.InsertOnSubmit(info);
     dc.SubmitChanges();
     return(info.ID);
 }
Beispiel #6
0
 public bool UpdateInfo(MMS_AdjustContent info)
 {
     return(dao.UpdateInfo(info));
 }
Beispiel #7
0
        /// <summary>
        ///   打印调拨单时调用
        /// </summary>
        /// <param name="id"> </param>
        /// <param name="isAudit"> </param>
        /// <param name="operatorCode"> </param>
        /// <returns> </returns>
        public bool AuditAdjust(int id, bool isAudit, string operatorCode)
        {
            using (TransactionScope ts = new TransactionScope())
            {
                TAdjust           tad       = dao.GetAdjust(id);
                MMS_AdjustContent adContent = tad.Content;

                foreach (TAdjustDetail adDetail in tad.Detail)
                {
                    string productCode = adDetail.DetDetail.ProductCode;
                    int    qty         = adDetail.DetDetail.Quantity;
                    double price       = adDetail.DetDetail.Price;
                    if (qty != 0)
                    {
                        MMS_Store Param1 = new MMS_Store();
                        Param1.Warehouse   = adContent.SourceWareHouse;
                        Param1.ProductCode = productCode;
                        MMS_Store sourceStore = daoStore.GetStore(Param1);
                        if (sourceStore == null)
                        {
                            throw new Exception("货品在源仓库不存在");
                        }
                        if (qty > sourceStore.Quantity)
                        {
                            throw new Exception("源仓库货品数量不足");
                        }
                        sourceStore.Quantity -= qty;
                        sourceStore.Amount   -= qty * price;
                        if (sourceStore.Quantity != 0)
                        {
                            sourceStore.Price = sourceStore.Amount / sourceStore.Quantity;
                        }
                        daoStore.UpdateInfo(sourceStore);

                        MMS_Store Param2 = new MMS_Store();
                        Param2.Warehouse   = adContent.TargetWareHouse;
                        Param2.ProductCode = productCode;
                        MMS_Store targetStore = daoStore.GetStore(Param2);
                        if (targetStore != null)
                        {
                            targetStore.Quantity += qty;
                            targetStore.Amount   += qty * price;
                            if (targetStore.Quantity != 0)
                            {
                                targetStore.Price = targetStore.Amount / targetStore.Quantity;
                            }
                            daoStore.UpdateInfo(targetStore);
                        }
                        else
                        {
                            MMS_Store newTarSto = new MMS_Store();
                            newTarSto.Warehouse   = adContent.TargetWareHouse;
                            newTarSto.ProductCode = productCode;
                            newTarSto.Quantity    = qty;
                            newTarSto.Price       = price;
                            newTarSto.Amount      = qty * price;
                            daoStore.InsertInfo(newTarSto);
                        }
                    }
                }
                adContent.AuditFlag = true;
                dao.UpdateInfo(adContent);
                ts.Complete();
            }
            return(true);
        }