public void Confirm(int UserId)
 {
     foreach (DataRowView Cursor in PreviousStock.DefaultView)
     {
         int ID = Convert.ToInt32(Cursor["ID"]);
         ReceiveDoc.SetAverageCostByReceiveDoc(ID, NewUnitCost, UserId);
         ReceiveDoc.SetMarginByReceiveDoc(ID, Margin * 100, UserId);
         ReceiveDoc.SetSellingPriceByReceiveDoc(ID, NewSellingPrice, UserId);
     }
 }
示例#2
0
        public void RecordAverageCostAndSellingPrice(int userID)
        {
            MyGeneration.dOOdads.TransactionMgr transaction = MyGeneration.dOOdads.TransactionMgr.ThreadTransactionMgr();

            try
            {
                transaction.BeginTransaction();
                DataTable           ReceiveDocDetails;
                IList <CostElement> costElements = new List <CostElement>();

                foreach (DataRowView drv in GRVSoundDetail.DefaultView as DataView)
                {
                    double NewUnitCost, NewSellingPrice;
                    if (drv["AverageCost"] != DBNull.Value && drv["SellingPrice"] != DBNull.Value)
                    {
                        CostElement costElement = new CostElement();
                        costElement.ItemID          = Convert.ToInt32(drv["ItemID"]);
                        costElement.ItemUnitID      = Convert.ToInt32(drv["ItemUnitID"]);
                        costElement.MovingAverageID = Convert.ToInt32(drv["MovingAverageID"]);
                        costElement.ManufacturerID  = Convert.ToInt32(drv["ManufacturerID"]);
                        costElement.AverageCost     = costElement.SellingPrice = Math.Round(Convert.ToDouble(drv["SellingPrice"]), Settings.NoOfDigitsAfterTheDecimalPoint);
                        costElement.Margin          = drv["Margin"] != DBNull.Value ? Convert.ToDouble(drv["Margin"]) : 0;
                        ReceiveDocDetails           =
                            ReceiveDoc.GetRelatedReceiveForUnitCostAndSellingPrice(ReceiptID, costElement);


                        foreach (DataRowView Cursor in ReceiveDocDetails.AsDataView())
                        {
                            int ID = Convert.ToInt32(Cursor["ID"]);
                            ReceiveDoc.SetAverageCostByReceiveDoc(ID, costElement.AverageCost, userID);
                            ReceiveDoc.SetSellingPriceByReceiveDoc(ID, costElement.SellingPrice, userID);
                        }
                        costElements.Add(costElement);
                    }
                }
                try
                {
                    CostingService.SavePriceChange(costElements.AsEnumerable(), userID, ChangeMode.Recieve, ReceiptID.ToString());
                }
                catch (Exception)
                {
                    //Until Cost Tier Implementation
                }
                transaction.CommitTransaction();
            }
            catch (Exception ex)
            {
                transaction.RollbackTransaction();
                throw ex;
            }
        }
示例#3
0
        public void SaveCostCoefficient(int userID)
        {
            ReceiveDoc grvFullDetail = new ReceiveDoc();

            grvFullDetail.FlushData();
            grvFullDetail.LoadAllByReceiptID(GRV.ID);
            CostBuildUp.SaveChange();
            while (!grvFullDetail.EOF)
            {
                //Insurance here is costCoefficient
                ReceiveDoc receivedoc = new ReceiveDoc();
                receivedoc.LoadByPrimaryKey(grvFullDetail.ID);
                //Use Custom StoreProcedure for Costing
                receivedoc.Insurance = CostCoefficient;
                receivedoc.Save();
                ReceiveDoc.SetUnitCostByReceiveDoc(grvFullDetail.ID, Math.Round(receivedoc.PricePerPack * CostCoefficient, 2), userID);
                ReceiveDoc.SetAverageCostByReceiveDoc(grvFullDetail.ID, Math.Round(receivedoc.PricePerPack * CostCoefficient, 2), userID);
                grvFullDetail.MoveNext();
            }
        }