Beispiel #1
0
        public long Save(INVStoreTrans model, int userId, string pageUrl)
        {
            long CurrentTransactionID = 0;

            try
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    using (_context)
                    {
                        var GetTransactionNo = DalCommon.GetPreDefineNextCodeByUrl(pageUrl);

                        if (GetTransactionNo != null)
                        {
                            #region New_Transaction_Insert

                            INV_StoreTrans objIssue = new INV_StoreTrans();

                            objIssue.TransactionNo       = GetTransactionNo;
                            objIssue.TransactionDate     = DalCommon.SetDate(model.TransactionDate);
                            objIssue.TransactionCategory = "ISU";
                            objIssue.TransactionType     = "STI";
                            objIssue.TransactionFrom     = model.IssueFrom;
                            objIssue.TransactionTo       = model.IssueTo;

                            objIssue.TransactionStatus = "TRI";


                            objIssue.RecordStatus = "NCF";
                            objIssue.SetBy        = userId;
                            objIssue.SetOn        = DateTime.Now;

                            _context.INV_StoreTrans.Add(objIssue);
                            _context.SaveChanges();
                            CurrentTransactionID = objIssue.TransactionID;
                            #endregion

                            #region Item Insert
                            if (model.TransactionItemList != null)
                            {
                                foreach (var item in model.TransactionItemList)
                                {
                                    INV_StoreTransItem objItem = new INV_StoreTransItem();

                                    objItem.TransactionID = CurrentTransactionID;

                                    objItem.ItemID     = item.ItemID;
                                    objItem.SupplierID = item.SupplierID;

                                    objItem.TransactionQty = item.IssueQty;

                                    objItem.TransactionUnit = DalCommon.GetUnitCode(item.IssueUnitName);


                                    objItem.PackSize = DalCommon.GetSizeCode(item.IssuePackSizeName);
                                    objItem.SizeUnit = DalCommon.GetUnitCode(item.IssueSizeUnitName);


                                    objItem.PackQty = item.IssuePackQty;
                                    //objItem.ItemSource = DalCommon.ReturnItemSource(item.ItemSource);
                                    objItem.SetOn = DateTime.Now;
                                    objItem.SetBy = userId;

                                    _context.INV_StoreTransItem.Add(objItem);
                                    //_context.SaveChanges();
                                }
                            }
                            #endregion
                        }
                        _context.SaveChanges();
                    }
                    transaction.Complete();
                }
                return(CurrentTransactionID);
            }
            catch (Exception e)
            {
                return(0);
            }
        }
Beispiel #2
0
        public long Save(INVStoreTrans model, int userId, string pageUrl)
        {
            long CurrentTransactionID = 0;
            long CurrentRequestID     = 0;

            using (TransactionScope transaction = new TransactionScope())
            {
                try
                {
                    using (_context)
                    {
                        string GetTransactionNo;
                        if (model.PageName == "Adjustment")
                        {
                            GetTransactionNo = DalCommon.GetPreDefineNextCodeByUrl("ChemicalStockAdjustment/ChemicalStockAdjustment");
                        }
                        else if (model.PageName == "InventoryAdjustment")
                        {
                            //Need Attention
                            GetTransactionNo = DalCommon.GetPreDefineNextCodeByUrl("ChemicalStockAdjustment/ChemicalStockAdjustment");
                        }
                        else
                        {
                            GetTransactionNo = DalCommon.GetPreDefineNextCodeByUrl(pageUrl);
                        }


                        if (GetTransactionNo != null)
                        {
                            #region New_Transaction_Insert

                            INV_StoreTrans objIssue = new INV_StoreTrans();

                            objIssue.TransactionNo   = GetTransactionNo;
                            objIssue.TransactionDate = DalCommon.SetDate(model.TransactionDate);
                            if (model.AdjustmentType == "Addition")
                            {
                                objIssue.TransactionCategory = "RCV";
                            }
                            else
                            {
                                objIssue.TransactionCategory = "ISU";
                            }


                            objIssue.TransactionFrom = model.TransactionFrom;


                            if (model.PageName == "Adjustment")
                            {
                                objIssue.TransactionType = "ADI";
                            }
                            else if (model.PageName == "InventoryAdjustment" & model.AdjustmentType == "Addition")
                            {
                                objIssue.TransactionType = "ADR";
                            }
                            else if (model.PageName == "InventoryAdjustment" & model.AdjustmentType == "Subtraction")
                            {
                                objIssue.TransactionType = "ADI";
                            }
                            else
                            {
                                objIssue.TransactionType = "ITP";
                                objIssue.TransactionTo   = model.TransactionTo;
                            }


                            objIssue.RecordStatus      = "NCF";
                            objIssue.TransactionState  = "RNG";
                            objIssue.TransactionStatus = "TRI";
                            objIssue.SetBy             = userId;
                            objIssue.SetOn             = DateTime.Now;

                            _context.INV_StoreTrans.Add(objIssue);
                            _context.SaveChanges();
                            CurrentTransactionID = objIssue.TransactionID;

                            #endregion

                            #region New Transaction Request Insert
                            if (model.PageName != "InventoryAdjustment")
                            {
                                var objRequest = new INV_StoreTransRequest();

                                objRequest.TransRequestNo = DalCommon.GetPreDefineNextCodeByUrl(pageUrl);
                                objRequest.TransactionID  = CurrentTransactionID;

                                if (model.PageName == "Adjustment")
                                {
                                    objRequest.ReqFromDate = DalCommon.SetDate(model.ReqFromDate);
                                    objRequest.ReqToDate   = DalCommon.SetDate(model.ReqToDate);
                                }
                                else
                                {
                                    objRequest.RequisitionID = Convert.ToInt32(model.RefTransactionID);
                                    objRequest.RequestNo     = model.RefTransactionNo;
                                }
                                objRequest.Remark = model.Remark;
                                objRequest.SetBy  = userId;
                                objRequest.SetOn  = DateTime.Now;

                                _context.INV_StoreTransRequest.Add(objRequest);
                                _context.SaveChanges();
                                CurrentRequestID = objRequest.TransRequestID;
                            }

                            #endregion

                            #region Item Insert
                            if (model.InvStoreTransItemList != null)
                            {
                                foreach (var item in model.InvStoreTransItemList)
                                {
                                    INV_StoreTransItem objItem = new INV_StoreTransItem();

                                    objItem.TransactionID = CurrentTransactionID;

                                    if (model.PageName != "InventoryAdjustment")
                                    {
                                        objItem.TransRequestID = CurrentRequestID;
                                    }

                                    objItem.ItemID = item.ItemID;
                                    if (item.SupplierID == 0)
                                    {
                                        objItem.SupplierID = null;
                                    }
                                    else
                                    {
                                        objItem.SupplierID = item.SupplierID;
                                    }
                                    objItem.TransactionQty = item.TransactionQty;

                                    objItem.TransactionUnit = DalCommon.GetUnitCode(item.TransactionUnitName);


                                    if (item.PackSizeName != null)
                                    {
                                        objItem.PackSize = DalCommon.GetSizeCode(item.PackSizeName);
                                    }

                                    if (item.SizeUnitName != null)
                                    {
                                        objItem.SizeUnit = DalCommon.GetUnitCode(item.SizeUnitName);
                                    }
                                    objItem.PackQty = item.PackQty;

                                    objItem.SetOn = DateTime.Now;
                                    objItem.SetBy = userId;

                                    _context.INV_StoreTransItem.Add(objItem);
                                    //_context.SaveChanges();
                                }
                            }
                            #endregion
                        }
                        _context.SaveChanges();
                    }
                    transaction.Complete();
                }
                catch (Exception e)
                {
                    CurrentTransactionID = 0;
                    return(CurrentTransactionID);
                }
            }
            return(CurrentTransactionID);
        }