public ActionResult Modify(int id, string IndexType)
        {
            StockHeader header = _StockHeaderService.Find(id);

            if (header.Status == (int)StatusConstants.Drafted || header.Status == (int)StatusConstants.Import)
            {
                return(Edit(id, IndexType));
            }
            else
            {
                return(HttpNotFound());
            }
        }
        public ActionResult ModifyAfter_Approve(int id, string IndexType)
        {
            StockHeader header = _StockHeaderService.Find(id);

            if (header.Status == (int)StatusConstants.Approved)
            {
                return(Edit(id, IndexType));
            }
            else
            {
                return(HttpNotFound());
            }
        }
        public ActionResult Delete(int id)
        {
            StockHeader header = _StockHeaderService.Find(id);

            if (header.Status == (int)StatusConstants.Drafted || header.Status == (int)StatusConstants.Import)
            {
                return(Remove(id));
            }
            else
            {
                return(HttpNotFound());
            }
        }
        //public static ProductUid MapGodownIssue(StockHeader StockRecord,ref ProductUid UidOldRecord)
        //{
        //    UidOldRecord.LastTransactionDocId = StockRecord.StockHeaderId;
        //    UidOldRecord.LastTransactionDocNo = StockRecord.DocNo;
        //    UidOldRecord.LastTransactionDocTypeId = StockRecord.DocTypeId;
        //    UidOldRecord.LastTransactionDocDate = StockRecord.DocDate;
        //    UidOldRecord.LastTransactionPersonId = StockRecord.PersonId;
        //    UidOldRecord.CurrenctGodownId = null;
        //    UidOldRecord.Status = ProductUidStatusConstants.Issue;

        //    return UidOldRecord;

        //}

        //public static ProductUid MapGodownReceive(StockHeader StockRecord,ref ProductUid UidOldRecord)
        //{

        //    UidOldRecord.LastTransactionDocId = StockRecord.StockHeaderId;
        //    UidOldRecord.LastTransactionDocNo = StockRecord.DocNo;
        //    UidOldRecord.LastTransactionDocTypeId = StockRecord.DocTypeId;
        //    UidOldRecord.LastTransactionDocDate = StockRecord.DocDate;
        //    UidOldRecord.LastTransactionPersonId = StockRecord.PersonId;
        //    UidOldRecord.CurrenctGodownId = StockRecord.GodownId;
        //    UidOldRecord.CurrenctProcessId = StockRecord.ProcessId;
        //    UidOldRecord.Status = ProductUidStatusConstants.Receive;

        //    return UidOldRecord;


        //}

        public static ProductUid MapGodownTransfer(StockHeader StockRecord, ProductUid UidOldRecord)
        {
            UidOldRecord.LastTransactionDocId     = StockRecord.StockHeaderId;
            UidOldRecord.LastTransactionDocNo     = StockRecord.DocNo;
            UidOldRecord.LastTransactionDocTypeId = StockRecord.DocTypeId;
            UidOldRecord.LastTransactionDocDate   = StockRecord.DocDate;
            UidOldRecord.LastTransactionPersonId  = StockRecord.PersonId;
            UidOldRecord.CurrenctGodownId         = StockRecord.GodownId;
            UidOldRecord.CurrenctProcessId        = StockRecord.ProcessId;
            UidOldRecord.Status = ProductUidStatusConstants.Transfer;

            return(UidOldRecord);
        }
 protected override void HandleActivation(CompositeDisposable disposables)
 {
     if (saftValidator?.StockFile?.StockHeader != null)
     {
         var h = saftValidator.StockFile.StockHeader;
         Header = new StockHeader
         {
             EndDate               = h.EndDate,
             FileVersion           = h.FileVersion,
             FiscalYear            = h.FiscalYear,
             NoStock               = h.NoStock,
             TaxRegistrationNumber = h.TaxRegistrationNumber
         };
     }
 }
        public ActionResult Save(StockHeader stockHeader)
        {
            if (ModelState.IsValid)
            {
                bool isSaved = _stockManager.Add(stockHeader);
                if (isSaved)
                {
                    ViewBag.message = "Stock saved sucessfully";
                }
            }
            var productCategories = _productCategoryManager.GetAll();

            ViewBag.ProductCategories = new SelectList(productCategories, "Id", "Name");
            return(View(stockHeader));
        }
示例#7
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                string             err    = "";
                List <StockDetail> lst    = new List <StockDetail>();
                StockHeader        Header = new StockHeader();
                var dal = StockDal.Instance;
                if (Session["StockDetail"] != null)
                {
                    lst = (List <StockDetail>)Session["StockDetail"];
                    if (lst == null && lst.Count == 0)
                    {
                        ShowMessageBox("กรุณาเพิ่ม สินค้า ที่ต้องการบันทึก!!");
                        return;
                    }

                    if (hddType.Value.ToLower() == "o")
                    {
                        ShowMessageBox("กรุณาเพิ่ม หมายเหตุ !!");
                        return;
                    }

                    //Process Save
                    Header.StockType = hddType.Value.ToLower() == "i" ? "IN" : "OUT";
                    Header.StockTime = DateTime.ParseExact(txtDate.Text, "dd/MM/yyyy", new System.Globalization.CultureInfo("en-US"));
                    Header.Remark    = txtRemark.Text;
                    Header.detail    = lst;
                    err = dal.InsertStock(Header, GetUsername());
                }

                if (!string.IsNullOrEmpty(err))
                {
                    ShowMessageBox("เกิดข้อผิดพลาด กรุณาติดต่อผู้ดูแลระบบ.!!" + err);
                    return;
                }
                ShowMessageBox("บันทึกสำเร็จ.", this.Page, "../Stock/StockLogs.aspx");
            }
            catch (Exception ex)
            {
                ShowMessageBox("เกิดข้อผิดพลาด กรุณาติดต่อผู้ดูแลระบบ.");
                SendMailError(ex.Message, System.Reflection.MethodBase.GetCurrentMethod());
            }
        }
示例#8
0
        // GET: /PurchaseOrderHeader/Delete/5

        private ActionResult Remove(int id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            StockHeader StockHeader = _StockHeaderService.Find(id);

            if (StockHeader == null)
            {
                return(HttpNotFound());
            }

            if (new RolePermissionService(_unitOfWork).IsActionAllowed(UserRoles, StockHeader.DocTypeId, StockHeader.ProcessId, this.ControllerContext.RouteData.Values["controller"].ToString(), "Remove") == false)
            {
                return(PartialView("~/Views/Shared/PermissionDenied_Modal.cshtml").Warning("You don't have permission to do this task."));
            }

            #region DocTypeTimeLineValidation
            try
            {
                TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(StockHeader), DocumentTimePlanTypeConstants.Delete, User.Identity.Name, out ExceptionMsg, out Continue);
                TempData["CSEXC"] += ExceptionMsg;
            }
            catch (Exception ex)
            {
                string message = _exception.HandleException(ex);
                TempData["CSEXC"] += message;
                TimePlanValidation = false;
            }

            if (!TimePlanValidation && !Continue)
            {
                return(PartialView("AjaxError"));
            }
            #endregion

            ReasonViewModel rvm = new ReasonViewModel()
            {
                id = id,
            };
            return(PartialView("_Reason", rvm));
        }
        public ActionResult Submit(int id, string IndexType, string TransactionType)
        {
            StockHeader s = context.StockHeader.Find(id);

            if (new RolePermissionService(_unitOfWork).IsActionAllowed(UserRoles, s.DocTypeId, s.ProcessId, this.ControllerContext.RouteData.Values["controller"].ToString(), "Submit") == false)
            {
                return(View("~/Views/Shared/PermissionDenied.cshtml").Warning("You don't have permission to do this task."));
            }

            #region DocTypeTimeLineValidation


            try
            {
                TimePlanValidation = Submitvalidation(id, out ExceptionMsg);
                TempData["CSEXC"] += ExceptionMsg;
            }
            catch (Exception ex)
            {
                string message = _exception.HandleException(ex);
                TempData["CSEXC"] += message;
                TimePlanValidation = false;
            }
            try
            {
                TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(s), DocumentTimePlanTypeConstants.Submit, User.Identity.Name, out ExceptionMsg, out Continue);
                TempData["CSEXC"] += ExceptionMsg;
            }
            catch (Exception ex)
            {
                string message = _exception.HandleException(ex);
                TempData["CSEXC"] += message;
                TimePlanValidation = false;
            }

            if (!TimePlanValidation && !Continue)
            {
                return(RedirectToAction("Index", new { id = s.DocTypeId, IndexType = IndexType }));
            }
            #endregion
            return(RedirectToAction("Detail", new { id = id, IndexType = IndexType, transactionType = string.IsNullOrEmpty(TransactionType) ? "submit" : TransactionType }));
        }
示例#10
0
        public void UpdateStockHeader(StockHeaderViewModel S)
        {
            StockHeader StockHeader = Find(S.StockHeaderId);

            StockHeader.DocTypeId    = S.DocTypeId;
            StockHeader.DocDate      = S.DocDate;
            StockHeader.DocNo        = S.DocNo;
            StockHeader.DivisionId   = S.DivisionId;
            StockHeader.SiteId       = S.SiteId;
            StockHeader.CurrencyId   = S.CurrencyId;
            StockHeader.PersonId     = S.PersonId;
            StockHeader.ProcessId    = S.ProcessId;
            StockHeader.FromGodownId = S.FromGodownId;
            StockHeader.GodownId     = S.GodownId;
            StockHeader.Remark       = S.Remark;
            StockHeader.Status       = S.Status;
            StockHeader.ModifiedBy   = S.ModifiedBy;
            StockHeader.ModifiedDate = S.ModifiedDate;
            StockHeader.CostCenterId = S.CostCenterId;
            StockHeader.MachineId    = S.MachineId;

            Update(StockHeader);
        }
示例#11
0
        public List <StockHeader> GetStockHeader(DateTime DateFrom, DateTime DateTo)
        {
            List <StockHeader> lst = new List <StockHeader>();

            try
            {
                List <SqlParameter> param = new List <SqlParameter>();
                param.Add(new SqlParameter()
                {
                    ParameterName = "DateFrom", Value = DateFrom
                });
                param.Add(new SqlParameter()
                {
                    ParameterName = "DateTo", Value = DateTo
                });
                DataSet ds = conn.GetDataSet("GetStockHeader", param);
                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null)
                {
                    StockHeader o = new StockHeader();
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        o = new StockHeader();
                        o.StockHeaderID = Convert.ToInt32(dr["StockHeaderID"].ToString());
                        o.StockTime     = Convert.ToDateTime(dr["StockTime"].ToString());
                        o.StockType     = dr["StockType"].ToString();
                        o.CreatedBy     = dr["CreatedBy"].ToString();
                        o.StockFrom     = dr["StockFrom"].ToString();
                        o.CreatedDate   = Convert.ToDateTime(dr["CreatedDate"].ToString());
                        lst.Add(o);
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(lst);
        }
示例#12
0
 public StockHeader Create(StockHeader s)
 {
     s.ObjectState = ObjectState.Added;
     _unitOfWork.Repository <StockHeader>().Insert(s);
     return(s);
 }
示例#13
0
        public RecipeLineViewModel Create(RecipeLineViewModel svm, string UserName)
        {
            List <LogTypeViewModel> LogList = new List <LogTypeViewModel>();

            StockHeader temp = _StockHeaderRepository.Find(svm.StockHeaderId);

            StockLine s = Mapper.Map <RecipeLineViewModel, StockLine>(svm);

            StockViewModel        StockViewModel        = new StockViewModel();
            StockProcessViewModel StockProcessViewModel = new StockProcessViewModel();

            //Posting in Stock
            StockViewModel.StockHeaderId      = temp.StockHeaderId;
            StockViewModel.DocHeaderId        = temp.StockHeaderId;
            StockViewModel.DocLineId          = s.StockLineId;
            StockViewModel.DocTypeId          = temp.DocTypeId;
            StockViewModel.StockHeaderDocDate = temp.DocDate;
            StockViewModel.StockDocDate       = DateTime.Now.Date;
            StockViewModel.DocNo              = temp.DocNo;
            StockViewModel.DivisionId         = temp.DivisionId;
            StockViewModel.SiteId             = temp.SiteId;
            StockViewModel.CurrencyId         = null;
            StockViewModel.HeaderProcessId    = null;
            StockViewModel.PersonId           = temp.PersonId;
            StockViewModel.ProductId          = s.ProductId;
            StockViewModel.HeaderFromGodownId = null;
            StockViewModel.HeaderGodownId     = temp.GodownId;
            StockViewModel.GodownId           = temp.GodownId ?? 0;
            StockViewModel.ProcessId          = s.FromProcessId;
            StockViewModel.LotNo              = s.LotNo;
            StockViewModel.CostCenterId       = temp.CostCenterId;
            StockViewModel.Qty_Iss            = s.Qty;
            StockViewModel.Qty_Rec            = 0;
            StockViewModel.Rate          = s.Rate;
            StockViewModel.ExpiryDate    = null;
            StockViewModel.Specification = s.Specification;
            StockViewModel.Dimension1Id  = s.Dimension1Id;
            StockViewModel.Dimension2Id  = s.Dimension2Id;
            StockViewModel.Remark        = s.Remark;
            StockViewModel.ProductUidId  = s.ProductUidId;
            StockViewModel.Status        = temp.Status;
            StockViewModel.CreatedBy     = temp.CreatedBy;
            StockViewModel.CreatedDate   = DateTime.Now;
            StockViewModel.ModifiedBy    = temp.ModifiedBy;
            StockViewModel.ModifiedDate  = DateTime.Now;

            string StockPostingError = "";

            StockPostingError = _stockService.StockPostDB(ref StockViewModel);

            s.StockId = StockViewModel.StockId;

            if (temp.StockHeaderId == null)
            {
                temp.StockHeaderId = StockViewModel.StockHeaderId;
            }


            StockProcessViewModel.StockHeaderId       = (int)temp.StockHeaderId;
            StockProcessViewModel.DocHeaderId         = temp.StockHeaderId;
            StockProcessViewModel.DocLineId           = s.StockLineId;
            StockProcessViewModel.DocTypeId           = temp.DocTypeId;
            StockProcessViewModel.StockHeaderDocDate  = temp.DocDate;
            StockProcessViewModel.StockProcessDocDate = DateTime.Now.Date;
            StockProcessViewModel.DocNo              = temp.DocNo;
            StockProcessViewModel.DivisionId         = temp.DivisionId;
            StockProcessViewModel.SiteId             = temp.SiteId;
            StockProcessViewModel.CurrencyId         = null;
            StockProcessViewModel.HeaderProcessId    = null;
            StockProcessViewModel.PersonId           = temp.PersonId;
            StockProcessViewModel.ProductId          = s.ProductId;
            StockProcessViewModel.HeaderFromGodownId = null;
            StockProcessViewModel.HeaderGodownId     = temp.GodownId ?? 0;
            StockProcessViewModel.GodownId           = temp.GodownId ?? 0;
            StockProcessViewModel.ProcessId          = temp.ProcessId;
            StockProcessViewModel.LotNo              = s.LotNo;
            StockProcessViewModel.CostCenterId       = temp.CostCenterId;
            StockProcessViewModel.Qty_Iss            = 0;
            StockProcessViewModel.Qty_Rec            = s.Qty;
            StockProcessViewModel.Rate          = s.Rate;
            StockProcessViewModel.ExpiryDate    = null;
            StockProcessViewModel.Specification = s.Specification;
            StockProcessViewModel.Dimension1Id  = s.Dimension1Id;
            StockProcessViewModel.Dimension2Id  = s.Dimension2Id;
            StockProcessViewModel.Remark        = s.Remark;
            StockProcessViewModel.Status        = temp.Status;
            StockProcessViewModel.ProductUidId  = s.ProductUidId;
            StockProcessViewModel.CreatedBy     = temp.CreatedBy;
            StockProcessViewModel.CreatedDate   = DateTime.Now;
            StockProcessViewModel.ModifiedBy    = temp.ModifiedBy;
            StockProcessViewModel.ModifiedDate  = DateTime.Now;

            string StockProcessPostingError = "";

            StockProcessPostingError = _stockProcessService.StockProcessPostDB(ref StockProcessViewModel);

            s.StockProcessId = StockProcessViewModel.StockProcessId;



            s.CreatedDate  = DateTime.Now;
            s.ModifiedDate = DateTime.Now;
            s.CreatedBy    = UserName;
            s.Sr           = GetMaxSr(s.StockHeaderId);
            s.ModifiedBy   = UserName;
            s.ObjectState  = Model.ObjectState.Added;


            Create(s);

            StockLineExtended LineExtended = new StockLineExtended();

            LineExtended.StockLineId = s.StockLineId;
            LineExtended.DyeingRatio = svm.DyeingRatio;
            LineExtended.TestingQty  = svm.TestingQty;
            LineExtended.DocQty      = svm.DocQty;
            LineExtended.ExcessQty   = svm.ExcessQty;
            LineExtended.ObjectState = Model.ObjectState.Added;
            _StockLineExtendedService.Create(LineExtended);



            //StockHeader header = new StockHeaderService(_unitOfWork).Find(s.StockHeaderId);
            if (temp.Status != (int)StatusConstants.Drafted && temp.Status != (int)StatusConstants.Import)
            {
                temp.Status       = (int)StatusConstants.Modified;
                temp.ModifiedDate = DateTime.Now;
                temp.ModifiedBy   = UserName;
            }

            temp.ObjectState = Model.ObjectState.Modified;
            _StockHeaderRepository.Update(temp);


            _unitOfWork.Save();

            svm.StockLineId = s.StockLineId;

            _logger.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
            {
                DocTypeId    = temp.DocTypeId,
                DocId        = temp.StockHeaderId,
                DocLineId    = s.StockLineId,
                ActivityType = (int)ActivityTypeContants.Added,
                DocNo        = temp.DocNo,
                DocDate      = temp.DocDate,
                DocStatus    = temp.Status,
            }));

            return(svm);
        }
示例#14
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                string             err = "", type = "", result = "", url = "../Stock/StockLogs.aspx";
                List <StockDetail> lst    = new List <StockDetail>();
                StockHeader        Header = new StockHeader();
                List <string>      errSN  = new List <string>();

                var dal = StockDal.Instance;
                if (Session["StockDetailHeadQ"] != null)
                {
                    lst = (List <StockDetail>)Session["StockDetailHeadQ"];
                    if (lst == null && lst.Count == 0)
                    {
                        ShowMessageBox("กรุณาเพิ่ม สินค้า ที่ต้องการบันทึก!!");
                        return;
                    }

                    switch (hddType.Value)
                    {
                    case "i":
                        type = "IN";
                        url  = "../Stock/StockHeadQLogs.aspx";
                        break;

                    case "o":
                        type = "OUT";
                        url  = "../Stock/StockHeadQLogs.aspx";
                        break;

                    case "t":
                        type = "TRANSFER";
                        url  = "../Stock/StockLogs.aspx";
                        break;

                    default:
                        type = "";
                        break;
                    }

                    //Process Save
                    Header.StockType = type;// hddType.Value.ToLower() == "i" ? "IN" : "OUT";
                    Header.StockTime = DateTime.ParseExact(txtDate.Text, "dd/MM/yyyy", new System.Globalization.CultureInfo("en-US"));
                    Header.Remark    = txtRemark.Text;
                    Header.detail    = lst;
                    err = dal.InsertStockHeadQ(Header, GetUsername(), ref result, ref errSN);
                }

                if (!string.IsNullOrEmpty(err))
                {
                    ShowMessageBox("เกิดข้อผิดพลาด กรุณาติดต่อผู้ดูแลระบบ.!!" + err);
                    return;
                }

                if (!string.IsNullOrEmpty(result))
                {
                    ShowMessageBox(result);
                    return;
                }

                if (errSN != null && errSN.Count > 0)
                {
                    foreach (string s in errSN)
                    {
                        Logs(s, "Log");
                    }
                }

                ShowMessageBox("บันทึกสำเร็จ.", this.Page, url);
            }
            catch (Exception ex)
            {
                ShowMessageBox("เกิดข้อผิดพลาด กรุณาติดต่อผู้ดูแลระบบ.");
                SendMailError(ex.Message, System.Reflection.MethodBase.GetCurrentMethod());
            }
        }
示例#15
0
 public bool Update(StockHeader entity)
 {
     return(_repository.Update(entity));
 }
示例#16
0
 public bool Add(StockHeader entity)
 {
     return(_repository.Add(entity));
 }
示例#17
0
        public ActionResult Delete(ReasonViewModel vm)
        {
            bool BeforeSave = true;

            try
            {
                BeforeSave = JobConsumptionDocEvents.beforeHeaderDeleteEvent(this, new StockEventArgs(vm.id), ref db);
            }
            catch (Exception ex)
            {
                string message = _exception.HandleException(ex);
                TempData["CSEXC"] += message;
                EventException     = true;
            }

            if (!BeforeSave)
            {
                TempData["CSEXC"] += "Failed validation before delete";
            }

            if (ModelState.IsValid && BeforeSave && !EventException)
            {
                List <LogTypeViewModel> LogList = new List <LogTypeViewModel>();

                //first find the Purchase Order Object based on the ID. (sience this object need to marked to be deleted IE. ObjectState.Deleted)
                StockHeader StockHeader = (from p in db.StockHeader
                                           where p.StockHeaderId == vm.id
                                           select p).FirstOrDefault();

                LogList.Add(new LogTypeViewModel
                {
                    ExObj = Mapper.Map <StockHeader>(StockHeader),
                });

                //Then find all the Purchase Order Header Line associated with the above ProductType.
                var StockLine = (from p in db.StockLine
                                 where p.StockHeaderId == vm.id
                                 select p).ToList();

                try
                {
                    JobConsumptionDocEvents.onHeaderDeleteEvent(this, new StockEventArgs(vm.id), ref db);
                }
                catch (Exception ex)
                {
                    string message = _exception.HandleException(ex);
                    TempData["CSEXC"] += message;
                    EventException     = true;
                }


                List <int> StockProcessIdList = new List <int>();

                //Mark ObjectState.Delete to all the Purchase Order Lines.
                foreach (var item in StockLine)
                {
                    LogList.Add(new LogTypeViewModel
                    {
                        ExObj = Mapper.Map <StockLine>(item),
                    });


                    if (item.StockProcessId != null)
                    {
                        StockProcessIdList.Add((int)item.StockProcessId);
                    }

                    item.ObjectState = Model.ObjectState.Deleted;
                    db.StockLine.Remove(item);
                    //new StockLineService(_unitOfWork).Delete(item);
                }

                foreach (var item in StockProcessIdList)
                {
                    new StockProcessService(_unitOfWork).DeleteStockProcessDB(item, ref db, true);
                }

                //if (StockHeader != null)
                //{
                //    new StockHeaderService(_unitOfWork).Delete(StockHeader.StockHeaderId);
                //}


                // Now delete the Purhcase Order Header
                //new StockHeaderService(_unitOfWork).Delete(StockHeader);

                StockHeader.ObjectState = Model.ObjectState.Deleted;
                db.StockHeader.Remove(StockHeader);

                XElement Modifications = new ModificationsCheckService().CheckChanges(LogList);

                //Commit the DB
                try
                {
                    if (EventException)
                    {
                        throw new Exception();
                    }
                    db.SaveChanges();
                }

                catch (Exception ex)
                {
                    string message = _exception.HandleException(ex);
                    TempData["CSEXC"] += message;
                    return(PartialView("_Reason", vm));
                }

                try
                {
                    JobConsumptionDocEvents.afterHeaderDeleteEvent(this, new StockEventArgs(vm.id), ref db);
                }
                catch (Exception ex)
                {
                    string message = _exception.HandleException(ex);
                    TempData["CSEXC"] += message;
                }

                LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                {
                    DocTypeId       = StockHeader.DocTypeId,
                    DocId           = StockHeader.StockHeaderId,
                    ActivityType    = (int)ActivityTypeContants.Deleted,
                    UserRemark      = vm.Reason,
                    DocNo           = StockHeader.DocNo,
                    xEModifications = Modifications,
                    DocDate         = StockHeader.DocDate,
                    DocStatus       = StockHeader.Status,
                }));

                return(Json(new { success = true }));
            }
            return(PartialView("_Reason", vm));
        }
示例#18
0
 public void Delete(StockHeader s)
 {
     _unitOfWork.Repository <StockHeader>().Delete(s);
 }
示例#19
0
        /// <summary>
        /// Create, update and delete Stock Posting for one record.
        /// </summary>
        /// <param name="StockViewModel_New"></param>
        /// <param name="StockViewModel_Old"></param>
        /// <returns></returns>
        public string StockPost(StockViewModel StockViewModel_New, StockViewModel StockViewModel_Old)
        {
            string      ErrorText = "";
            StockHeader StockHeader;


            if (StockViewModel_New != null)
            {
                StockHeader = _stockHeaderService.FindByDocHeader(StockViewModel_New.DocHeaderId, StockViewModel_New.StockHeaderId, StockViewModel_New.DocTypeId, StockViewModel_New.SiteId, StockViewModel_New.DivisionId);

                if (StockViewModel_New.StockHeaderExist == 0 || StockViewModel_New.StockHeaderExist == null)
                {
                    if (StockHeader == null)
                    {
                        StockHeader H = new StockHeader();

                        H.DocHeaderId  = StockViewModel_New.DocHeaderId;
                        H.DocTypeId    = StockViewModel_New.DocTypeId;
                        H.DocDate      = StockViewModel_New.StockHeaderDocDate;
                        H.DocNo        = StockViewModel_New.DocNo;
                        H.DivisionId   = StockViewModel_New.DivisionId;
                        H.SiteId       = StockViewModel_New.SiteId;
                        H.CurrencyId   = StockViewModel_New.CurrencyId;
                        H.PersonId     = StockViewModel_New.PersonId;
                        H.ProcessId    = StockViewModel_New.HeaderProcessId;
                        H.FromGodownId = StockViewModel_New.HeaderFromGodownId;
                        H.GodownId     = StockViewModel_New.HeaderGodownId;
                        H.Remark       = StockViewModel_New.Remark;
                        H.Status       = StockViewModel_New.Status;
                        H.CreatedBy    = StockViewModel_New.CreatedBy;
                        H.CreatedDate  = StockViewModel_New.CreatedDate;
                        H.ModifiedBy   = StockViewModel_New.ModifiedBy;
                        H.ModifiedDate = StockViewModel_New.ModifiedDate;

                        _stockHeaderService.Create(H);

                        StockHeader = H;
                    }
                    else
                    {
                        StockHeader.DocHeaderId  = StockViewModel_New.DocHeaderId;
                        StockHeader.DocTypeId    = StockViewModel_New.DocTypeId;
                        StockHeader.DocDate      = StockViewModel_New.StockHeaderDocDate;
                        StockHeader.DocNo        = StockViewModel_New.DocNo;
                        StockHeader.DivisionId   = StockViewModel_New.DivisionId;
                        StockHeader.SiteId       = StockViewModel_New.SiteId;
                        StockHeader.CurrencyId   = StockViewModel_New.CurrencyId;
                        StockHeader.PersonId     = StockViewModel_New.PersonId;
                        StockHeader.ProcessId    = StockViewModel_New.HeaderProcessId;
                        StockHeader.FromGodownId = StockViewModel_New.HeaderFromGodownId;
                        StockHeader.GodownId     = StockViewModel_New.HeaderGodownId;
                        StockHeader.Remark       = StockViewModel_New.Remark;
                        StockHeader.Status       = StockViewModel_New.Status;
                        StockHeader.CreatedBy    = StockViewModel_New.CreatedBy;
                        StockHeader.CreatedDate  = StockViewModel_New.CreatedDate;
                        StockHeader.ModifiedBy   = StockViewModel_New.ModifiedBy;
                        StockHeader.ModifiedDate = StockViewModel_New.ModifiedDate;

                        _stockHeaderService.Update(StockHeader);
                    }
                }
            }
            else
            {
                StockHeader = _stockHeaderService.FindByDocHeader(StockViewModel_Old.DocHeaderId, StockViewModel_Old.StockHeaderId, StockViewModel_Old.DocTypeId, StockViewModel_Old.SiteId, StockViewModel_Old.DivisionId);
            }


            if (StockViewModel_Old != null)
            {
                Stock Stock_Old = Find(StockViewModel_Old.StockHeaderId, StockViewModel_Old.ProductId, StockViewModel_Old.StockDocDate, StockViewModel_Old.Dimension1Id, StockViewModel_Old.Dimension2Id, StockViewModel_Old.ProcessId, StockViewModel_Old.LotNo, StockViewModel_Old.GodownId, StockViewModel_Old.CostCenterId);

                if (Stock_Old != null)
                {
                    Stock_Old.Qty_Iss       = Stock_Old.Qty_Iss - StockViewModel_Old.Qty_Iss;
                    Stock_Old.Qty_Rec       = Stock_Old.Qty_Rec - StockViewModel_Old.Qty_Rec;
                    Stock_Old.Rate          = StockViewModel_Old.Rate;
                    Stock_Old.ExpiryDate    = StockViewModel_Old.ExpiryDate;
                    Stock_Old.Specification = StockViewModel_Old.Specification;

                    Update(Stock_Old);

                    //if (Stock_Old.Qty_Iss == 0 && Stock_Old.Qty_Rec == 0) { Delete(Stock_Old); }
                    //else { Update(Stock_Old); }

                    StockBalance StockBalance_Old = FindStockBalance(StockViewModel_Old.ProductId, StockViewModel_Old.Dimension1Id, StockViewModel_Old.Dimension2Id, StockViewModel_Old.ProcessId, StockViewModel_Old.LotNo, StockViewModel_Old.GodownId, StockViewModel_Old.CostCenterId);

                    if (StockBalance_Old != null)
                    {
                        StockBalance_Old.Qty = StockBalance_Old.Qty - StockViewModel_Old.Qty_Rec;
                        StockBalance_Old.Qty = StockBalance_Old.Qty + StockViewModel_Old.Qty_Iss;

                        if (StockBalance_Old.Qty == 0)
                        {
                            _stockBalanceService.Delete(StockBalance_Old);
                        }
                        else
                        {
                            _stockBalanceService.Update(StockBalance_Old);
                        }
                    }
                }
            }

            if (StockViewModel_New != null)
            {
                Stock Stock_New;

                if (StockHeader != null)
                {
                    Stock_New = Find(StockHeader.StockHeaderId, StockViewModel_New.ProductId, StockViewModel_New.StockDocDate, StockViewModel_New.Dimension1Id, StockViewModel_New.Dimension2Id, StockViewModel_New.ProcessId, StockViewModel_New.LotNo, StockViewModel_New.GodownId, StockViewModel_New.CostCenterId);
                }
                else
                {
                    Stock_New = null;
                }

                if (Stock_New == null)
                {
                    Stock L = new Stock();

                    L.DocDate       = StockViewModel_New.StockDocDate;
                    L.ProductId     = StockViewModel_New.ProductId;
                    L.ProcessId     = StockViewModel_New.ProcessId;
                    L.GodownId      = StockViewModel_New.GodownId;
                    L.LotNo         = StockViewModel_New.LotNo;
                    L.CostCenterId  = StockViewModel_New.CostCenterId;
                    L.Qty_Iss       = StockViewModel_New.Qty_Iss;
                    L.Qty_Rec       = StockViewModel_New.Qty_Rec;
                    L.Rate          = StockViewModel_New.Rate;
                    L.ExpiryDate    = StockViewModel_New.ExpiryDate;
                    L.Specification = StockViewModel_New.Specification;
                    L.Dimension1Id  = StockViewModel_New.Dimension1Id;
                    L.Dimension2Id  = StockViewModel_New.Dimension2Id;
                    L.CreatedBy     = StockViewModel_New.CreatedBy;
                    L.CreatedDate   = StockViewModel_New.CreatedDate;
                    L.ModifiedBy    = StockViewModel_New.ModifiedBy;
                    L.ModifiedDate  = StockViewModel_New.ModifiedDate;


                    if (StockHeader != null)
                    {
                        L.StockHeaderId = StockHeader.StockHeaderId;
                    }

                    Create(L);
                }
                else
                {
                    Stock_New.Qty_Iss       = Stock_New.Qty_Iss + StockViewModel_New.Qty_Iss;
                    Stock_New.Qty_Rec       = Stock_New.Qty_Rec + StockViewModel_New.Qty_Rec;
                    Stock_New.Rate          = StockViewModel_New.Rate;
                    Stock_New.ExpiryDate    = StockViewModel_New.ExpiryDate;
                    Stock_New.Specification = StockViewModel_New.Specification;
                    Stock_New.ModifiedBy    = StockViewModel_New.ModifiedBy;
                    Stock_New.ModifiedDate  = StockViewModel_New.ModifiedDate;

                    Update(Stock_New);
                }

                StockBalance StockBalance_New = FindStockBalance(StockViewModel_New.ProductId, StockViewModel_New.Dimension1Id, StockViewModel_New.Dimension2Id, StockViewModel_New.ProcessId, StockViewModel_New.LotNo, StockViewModel_New.GodownId, StockViewModel_New.CostCenterId);

                if (StockBalance_New == null)
                {
                    StockBalance Sb = new StockBalance();

                    Sb.ProductId    = StockViewModel_New.ProductId;
                    Sb.Dimension1Id = StockViewModel_New.Dimension1Id;
                    Sb.Dimension2Id = StockViewModel_New.Dimension2Id;
                    Sb.ProcessId    = StockViewModel_New.ProcessId;
                    Sb.GodownId     = StockViewModel_New.GodownId;
                    Sb.CostCenterId = StockViewModel_New.CostCenterId;
                    Sb.LotNo        = StockViewModel_New.LotNo;
                    if (StockViewModel_New.Qty_Iss != 0)
                    {
                        Sb.Qty = StockViewModel_New.Qty_Iss;
                    }
                    if (StockViewModel_New.Qty_Rec != 0)
                    {
                        Sb.Qty = StockViewModel_New.Qty_Rec;
                    }

                    _stockBalanceService.Create(Sb);
                }
                else
                {
                    StockBalance_New.Qty = StockBalance_New.Qty + StockViewModel_New.Qty_Rec;
                    StockBalance_New.Qty = StockBalance_New.Qty - StockViewModel_New.Qty_Iss;

                    _stockBalanceService.Update(StockBalance_New);
                }
            }

            return(ErrorText);
        }
示例#20
0
        public ActionResult Delete(ReasonViewModel vm)
        {
            if (ModelState.IsValid)
            {
                db.Configuration.AutoDetectChangesEnabled = false;

                PackingHeader Sd = (from H in db.PackingHeader where H.PackingHeaderId == vm.id select H).FirstOrDefault();


                var PackingLine = (from L in db.PackingLine where L.PackingHeaderId == vm.id select L).ToList();


                List <int> StockIdList = new List <int>();
                int        cnt         = 0;
                foreach (var item in PackingLine)
                {
                    if (item.StockIssueId != null)
                    {
                        StockIdList.Add((int)item.StockIssueId);
                    }

                    cnt = cnt + 1;
                    try
                    {
                        item.ObjectState = Model.ObjectState.Deleted;
                        db.PackingLine.Attach(item);
                        db.PackingLine.Remove(item);
                    }
                    catch (Exception e)
                    {
                        string str = e.Message;
                    }
                }



                foreach (var item in StockIdList)
                {
                    if (item != null)
                    {
                        StockAdj Adj = (from L in db.StockAdj
                                        where L.StockOutId == item
                                        select L).FirstOrDefault();

                        if (Adj != null)
                        {
                            new StockAdjService(_unitOfWork).Delete(Adj);
                        }

                        new StockService(_unitOfWork).DeleteStockDB((int)item, ref db, true);
                    }
                }

                int?StockHeaderId = null;
                StockHeaderId = Sd.StockHeaderId;

                Sd.ObjectState = Model.ObjectState.Deleted;
                db.PackingHeader.Attach(Sd);
                db.PackingHeader.Remove(Sd);



                if (StockHeaderId != null)
                {
                    StockHeader StockHeader = (from H in db.StockHeader where H.StockHeaderId == StockHeaderId select H).FirstOrDefault();
                    StockHeader.ObjectState = Model.ObjectState.Deleted;
                    db.StockHeader.Attach(StockHeader);
                    db.StockHeader.Remove(StockHeader);
                }


                //Commit the DB
                try
                {
                    db.SaveChanges();
                    db.Configuration.AutoDetectChangesEnabled = true;
                }

                catch (Exception ex)
                {
                    string message = _exception.HandleException(ex);
                    db.Configuration.AutoDetectChangesEnabled = true;
                    TempData["CSEXC"] += message;
                    PrepareViewBag(Sd.DocTypeId);
                    return(PartialView("_Reason", vm));
                }

                LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                {
                    DocTypeId    = Sd.DocTypeId,
                    DocId        = Sd.PackingHeaderId,
                    ActivityType = (int)ActivityTypeContants.Deleted,
                    UserRemark   = vm.Reason,
                    DocNo        = Sd.DocNo,
                    DocDate      = Sd.DocDate,
                    DocStatus    = Sd.Status,
                }));

                return(Json(new { success = true }));
            }
            return(PartialView("_Reason", vm));
        }
示例#21
0
        public string InsertStock(StockHeader header, string User)
        {
            string err = "";

            try
            {
                conn.BeginTransaction();
                DataSet             ds       = new DataSet();
                Int32               HeaderID = 0;
                bool                chk      = false;
                List <SqlParameter> param    = new List <SqlParameter>();
                param.Add(new SqlParameter()
                {
                    ParameterName = "StockType", Value = header.StockType
                });
                param.Add(new SqlParameter()
                {
                    ParameterName = "StockTime", Value = header.StockTime
                });
                param.Add(new SqlParameter()
                {
                    ParameterName = "Remark", Value = header.Remark
                });
                param.Add(new SqlParameter()
                {
                    ParameterName = "CreatedBy", Value = User
                });
                conn.CallStoredProcedure("InsStockHeader", param, out ds, out err);
                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null && string.IsNullOrEmpty(err) && header.detail != null && header.detail.Count > 0)
                {
                    HeaderID = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString());
                    string cal = header.StockType == "IN" ? "+" : "-";
                    foreach (StockDetail item in header.detail)
                    {
                        param = new List <SqlParameter>();
                        param.Add(new SqlParameter()
                        {
                            ParameterName = "StockHeaderID", Value = HeaderID
                        });
                        param.Add(new SqlParameter()
                        {
                            ParameterName = "ProductID", Value = item.ProductID, DbType = DbType.Int32
                        });
                        param.Add(new SqlParameter()
                        {
                            ParameterName = "Amount", Value = item.Amount, DbType = DbType.Int32
                        });
                        param.Add(new SqlParameter()
                        {
                            ParameterName = "CAL", Value = cal
                        });
                        param.Add(new SqlParameter()
                        {
                            ParameterName = "SerialNumber", Value = item.SNConcat
                        });
                        conn.CallStoredProcedure("InsStockDetail", param, out err);

                        if (item.lstSerial != null && item.lstSerial.Count > 0)
                        {
                            foreach (TransProductSerial tps in item.lstSerial)
                            {
                                ds    = new DataSet();
                                param = new List <SqlParameter>();
                                param.Add(new SqlParameter()
                                {
                                    ParameterName = "ProductID", Value = item.ProductID, DbType = DbType.Int32
                                });
                                param.Add(new SqlParameter()
                                {
                                    ParameterName = "SerialNumber", Value = tps.SerialNumber
                                });
                                param.Add(new SqlParameter()
                                {
                                    ParameterName = "CAL", Value = cal
                                });
                                conn.CallStoredProcedure("InsTransProductSerial", param, out ds, out err);
                                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null)
                                {
                                    err = err + tps.SerialNumber + ", ";
                                    chk = true;
                                }
                            }

                            if (chk)
                            {
                                err = "ไม่พบ S/N หมายเลข : " + err.Substring(0, err.Length - 2);
                            }
                        }
                    }
                }

                if (string.IsNullOrEmpty(err))
                {
                    conn.Commit();
                }
                else
                {
                    conn.RollBack();
                }
            }
            catch (Exception ex)
            {
                err = ex.Message;
            }
            return(err);
        }
        public ActionResult Delete(ReasonViewModel vm)
        {
            bool BeforeSave = true;

            try
            {
                BeforeSave = StockHeaderDocEvents.beforeHeaderDeleteEvent(this, new StockEventArgs(vm.id), ref context);
            }
            catch (Exception ex)
            {
                string message = _exception.HandleException(ex);
                TempData["CSEXC"] += message;
                EventException     = true;
            }

            if (!BeforeSave)
            {
                TempData["CSEXC"] += "Failed validation before delete";
            }

            StockHeader StockHeader = (from p in context.StockHeader
                                       where p.StockHeaderId == vm.id
                                       select p).FirstOrDefault();

            var GatePassHeader = (from p in context.GatePassHeader
                                  where p.GatePassHeaderId == StockHeader.GatePassHeaderId
                                  select p).FirstOrDefault();

            if (GatePassHeader != null && GatePassHeader.Status == (int)StatusConstants.Submitted)
            {
                BeforeSave         = false;
                TempData["CSEXC"] += "Cannot delete record because gatepass is submitted.";
            }


            if (ModelState.IsValid && BeforeSave && !EventException)
            {
                List <LogTypeViewModel> LogList = new List <LogTypeViewModel>();

                try
                {
                    StockHeaderDocEvents.onHeaderDeleteEvent(this, new StockEventArgs(vm.id), ref context);
                }
                catch (Exception ex)
                {
                    string message = _exception.HandleException(ex);
                    TempData["CSEXC"] += message;
                    EventException     = true;
                }


                StockHeader ExRec = new StockHeader();
                ExRec = Mapper.Map <StockHeader>(StockHeader);
                StockHeader Rec = new StockHeader();

                LogList.Add(new LogTypeViewModel
                {
                    ExObj = ExRec,
                    Obj   = Rec,
                });

                var StockLine = (from p in context.StockLine
                                 where p.StockHeaderId == vm.id
                                 select p).ToList();

                //Mark ObjectState.Delete to all the Purchase Order Lines.
                foreach (var item in StockLine)
                {
                    StockLine ExRecLine = new StockLine();
                    ExRecLine = Mapper.Map <StockLine>(item);
                    StockLine RecLine = new StockLine();

                    LogList.Add(new LogTypeViewModel
                    {
                        ExObj = ExRecLine,
                        Obj   = RecLine,
                    });

                    item.ObjectState = Model.ObjectState.Deleted;
                    context.StockLine.Remove(item);
                }

                var GatePassHeaderId = StockHeader.GatePassHeaderId;

                StockHeader.ObjectState = Model.ObjectState.Deleted;
                context.StockHeader.Remove(StockHeader);

                XElement Modifications = new ModificationsCheckService().CheckChanges(LogList);


                //Commit the DB
                try
                {
                    if (EventException)
                    {
                        throw new Exception();
                    }
                    context.SaveChanges();
                }

                catch (Exception ex)
                {
                    string message = _exception.HandleException(ex);
                    TempData["CSEXC"] += message;
                    return(PartialView("_Reason", vm));
                }

                try
                {
                    StockHeaderDocEvents.afterHeaderDeleteEvent(this, new StockEventArgs(vm.id), ref context);
                }
                catch (Exception ex)
                {
                    string message = _exception.HandleException(ex);
                    TempData["CSEXC"] += message;
                }

                LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                {
                    DocTypeId       = StockHeader.DocTypeId,
                    DocId           = StockHeader.StockHeaderId,
                    ActivityType    = (int)ActivityTypeContants.Deleted,
                    UserRemark      = vm.Reason,
                    DocNo           = StockHeader.DocNo,
                    xEModifications = Modifications,
                    DocDate         = StockHeader.DocDate,
                    DocStatus       = StockHeader.Status,
                }));


                return(Json(new { success = true }));
            }
            return(PartialView("_Reason", vm));
        }
示例#23
0
        public void Update(RecipeLineViewModel svm, string UserName)
        {
            StockLine s = Mapper.Map <RecipeLineViewModel, StockLine>(svm);

            StockHeader temp = _StockHeaderRepository.Find(svm.StockHeaderId);

            List <LogTypeViewModel> LogList = new List <LogTypeViewModel>();

            StockLine templine = Find(s.StockLineId);

            StockLine ExTempLine = new StockLine();

            ExTempLine = Mapper.Map <StockLine>(templine);

            if (templine.StockId != null)
            {
                StockViewModel StockViewModel = new StockViewModel();
                StockViewModel.StockHeaderId      = temp.StockHeaderId;
                StockViewModel.StockId            = templine.StockId ?? 0;
                StockViewModel.DocHeaderId        = templine.StockHeaderId;
                StockViewModel.DocLineId          = templine.StockLineId;
                StockViewModel.DocTypeId          = temp.DocTypeId;
                StockViewModel.StockHeaderDocDate = temp.DocDate;
                StockViewModel.StockDocDate       = templine.CreatedDate.Date;
                StockViewModel.DocNo              = temp.DocNo;
                StockViewModel.DivisionId         = temp.DivisionId;
                StockViewModel.SiteId             = temp.SiteId;
                StockViewModel.CurrencyId         = null;
                StockViewModel.HeaderProcessId    = temp.ProcessId;
                StockViewModel.PersonId           = temp.PersonId;
                StockViewModel.ProductId          = s.ProductId;
                StockViewModel.HeaderFromGodownId = null;
                StockViewModel.HeaderGodownId     = temp.GodownId;
                StockViewModel.GodownId           = temp.GodownId ?? 0;
                StockViewModel.ProcessId          = templine.FromProcessId;
                StockViewModel.LotNo              = templine.LotNo;
                StockViewModel.CostCenterId       = temp.CostCenterId;
                StockViewModel.Qty_Iss            = s.Qty;
                StockViewModel.Qty_Rec            = 0;
                StockViewModel.Rate          = templine.Rate;
                StockViewModel.ExpiryDate    = null;
                StockViewModel.Specification = templine.Specification;
                StockViewModel.Dimension1Id  = templine.Dimension1Id;
                StockViewModel.Dimension2Id  = templine.Dimension2Id;
                StockViewModel.Remark        = s.Remark;
                StockViewModel.ProductUidId  = s.ProductUidId;
                StockViewModel.Status        = temp.Status;
                StockViewModel.CreatedBy     = templine.CreatedBy;
                StockViewModel.CreatedDate   = templine.CreatedDate;
                StockViewModel.ModifiedBy    = UserName;
                StockViewModel.ModifiedDate  = DateTime.Now;

                string StockPostingError = "";
                StockPostingError = _stockService.StockPostDB(ref StockViewModel);
            }


            if (templine.StockProcessId != null)
            {
                StockProcessViewModel StockProcessViewModel = new StockProcessViewModel();
                StockProcessViewModel.StockHeaderId       = temp.StockHeaderId;
                StockProcessViewModel.StockProcessId      = templine.StockProcessId ?? 0;
                StockProcessViewModel.DocHeaderId         = templine.StockHeaderId;
                StockProcessViewModel.DocLineId           = templine.StockLineId;
                StockProcessViewModel.DocTypeId           = temp.DocTypeId;
                StockProcessViewModel.StockHeaderDocDate  = temp.DocDate;
                StockProcessViewModel.StockProcessDocDate = templine.CreatedDate.Date;
                StockProcessViewModel.DocNo              = temp.DocNo;
                StockProcessViewModel.DivisionId         = temp.DivisionId;
                StockProcessViewModel.SiteId             = temp.SiteId;
                StockProcessViewModel.CurrencyId         = null;
                StockProcessViewModel.HeaderProcessId    = temp.ProcessId;
                StockProcessViewModel.PersonId           = temp.PersonId;
                StockProcessViewModel.ProductId          = s.ProductId;
                StockProcessViewModel.HeaderFromGodownId = null;
                StockProcessViewModel.HeaderGodownId     = temp.GodownId;
                StockProcessViewModel.GodownId           = temp.GodownId ?? 0;
                StockProcessViewModel.ProcessId          = temp.ProcessId;
                StockProcessViewModel.LotNo              = templine.LotNo;
                StockProcessViewModel.CostCenterId       = temp.CostCenterId;
                StockProcessViewModel.Qty_Iss            = 0;
                StockProcessViewModel.Qty_Rec            = s.Qty;
                StockProcessViewModel.Rate          = templine.Rate;
                StockProcessViewModel.ExpiryDate    = null;
                StockProcessViewModel.Specification = templine.Specification;
                StockProcessViewModel.Dimension1Id  = templine.Dimension1Id;
                StockProcessViewModel.Dimension2Id  = templine.Dimension2Id;
                StockProcessViewModel.Remark        = s.Remark;
                StockProcessViewModel.ProductUidId  = s.ProductUidId;
                StockProcessViewModel.Status        = temp.Status;
                StockProcessViewModel.CreatedBy     = templine.CreatedBy;
                StockProcessViewModel.CreatedDate   = templine.CreatedDate;
                StockProcessViewModel.ModifiedBy    = UserName;
                StockProcessViewModel.ModifiedDate  = DateTime.Now;

                string StockProcessPostingError = "";
                StockProcessPostingError = _stockProcessService.StockProcessPostDB(ref StockProcessViewModel);
            }


            templine.ProductId     = s.ProductId;
            templine.ProductUidId  = s.ProductUidId;
            templine.LotNo         = s.LotNo;
            templine.FromProcessId = s.FromProcessId;
            templine.Rate          = s.Rate;
            templine.Amount        = s.Amount;
            templine.Remark        = s.Remark;
            templine.Qty           = s.Qty;
            templine.Remark        = s.Remark;
            templine.Dimension1Id  = s.Dimension1Id;
            templine.Dimension2Id  = s.Dimension2Id;
            templine.Specification = s.Specification;
            templine.ModifiedDate  = DateTime.Now;
            templine.ModifiedBy    = UserName;
            templine.ObjectState   = Model.ObjectState.Modified;
            Update(templine);

            StockLineExtended LineExtended = _StockLineExtendedService.Find(templine.StockLineId);

            LineExtended.StockLineId = templine.StockLineId;
            LineExtended.DyeingRatio = svm.DyeingRatio;
            LineExtended.TestingQty  = svm.TestingQty;
            LineExtended.DocQty      = svm.DocQty;
            LineExtended.ExcessQty   = svm.ExcessQty;
            LineExtended.ObjectState = Model.ObjectState.Modified;
            _StockLineExtendedService.Update(LineExtended);

            int Status = 0;

            if (temp.Status != (int)StatusConstants.Drafted && temp.Status != (int)StatusConstants.Import)
            {
                Status            = temp.Status;
                temp.Status       = (int)StatusConstants.Modified;
                temp.ModifiedBy   = UserName;
                temp.ModifiedDate = DateTime.Now;
            }

            temp.ObjectState = Model.ObjectState.Modified;
            _StockHeaderRepository.Update(temp);


            LogList.Add(new LogTypeViewModel
            {
                ExObj = ExTempLine,
                Obj   = templine
            });


            XElement Modifications = _modificationCheck.CheckChanges(LogList);

            _unitOfWork.Save();

            _logger.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
            {
                DocTypeId       = temp.DocTypeId,
                DocId           = templine.StockHeaderId,
                DocLineId       = templine.StockLineId,
                ActivityType    = (int)ActivityTypeContants.Modified,
                DocNo           = temp.DocNo,
                xEModifications = Modifications,
                DocDate         = temp.DocDate,
                DocStatus       = temp.Status,
            }));
        }
示例#24
0
        public void Delete(RecipeLineViewModel vm, string UserName)
        {
            int?StockId        = 0;
            int?StockProcessId = 0;
            List <LogTypeViewModel> LogList = new List <LogTypeViewModel>();

            StockLine   StockLine = Find(vm.StockLineId);
            StockHeader header    = _StockHeaderRepository.Find(StockLine.StockHeaderId);



            StockId        = StockLine.StockId;
            StockProcessId = StockLine.StockProcessId;

            LogList.Add(new LogTypeViewModel
            {
                Obj = Mapper.Map <StockLine>(StockLine),
            });


            _StockLineExtendedService.Delete(StockLine.StockLineId);

            //_RecipeLineService.Delete(StockLine);
            StockLine.ObjectState = Model.ObjectState.Deleted;
            Delete(StockLine);

            if (StockId != null)
            {
                _stockService.DeleteStock((int)StockId);
            }

            if (StockProcessId != null)
            {
                _stockProcessService.DeleteStockProcessDB((int)StockProcessId);
            }



            if (header.Status != (int)StatusConstants.Drafted && header.Status != (int)StatusConstants.Import)
            {
                header.Status       = (int)StatusConstants.Modified;
                header.ModifiedDate = DateTime.Now;
                header.ModifiedBy   = UserName;
                _StockHeaderRepository.Update(header);
            }



            XElement Modifications = _modificationCheck.CheckChanges(LogList);

            _unitOfWork.Save();

            //Saving the Activity Log

            _logger.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
            {
                DocTypeId       = header.DocTypeId,
                DocId           = header.StockHeaderId,
                DocLineId       = StockLine.StockLineId,
                ActivityType    = (int)ActivityTypeContants.Deleted,
                DocNo           = header.DocNo,
                xEModifications = Modifications,
                DocDate         = header.DocDate,
                DocStatus       = header.Status,
            }));
        }
示例#25
0
 public void Update(StockHeader s)
 {
     s.ObjectState = ObjectState.Modified;
     _unitOfWork.Repository <StockHeader>().Update(s);
 }
示例#26
0
        public ActionResult Post(StockHeaderViewModel svm)
        {
            StockHeader s = Mapper.Map <StockHeaderViewModel, StockHeader>(svm);

            #region BeforeSave
            bool BeforeSave = true;
            try
            {
                if (svm.StockHeaderId <= 0)
                {
                    BeforeSave = JobConsumptionDocEvents.beforeHeaderSaveEvent(this, new StockEventArgs(svm.StockHeaderId, EventModeConstants.Add), ref db);
                }
                else
                {
                    BeforeSave = JobConsumptionDocEvents.beforeHeaderSaveEvent(this, new StockEventArgs(svm.StockHeaderId, EventModeConstants.Edit), ref db);
                }
            }
            catch (Exception ex)
            {
                string message = _exception.HandleException(ex);
                TempData["CSEXC"] += message;
                EventException     = true;
            }
            if (!BeforeSave)
            {
                TempData["CSEXC"] += "Failed validation before save";
            }

            #endregion

            #region DocTypeTimeLineValidation

            try
            {
                if (svm.StockHeaderId <= 0)
                {
                    TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(svm), DocumentTimePlanTypeConstants.Create, User.Identity.Name, out ExceptionMsg, out Continue);
                }
                else
                {
                    TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(svm), DocumentTimePlanTypeConstants.Modify, User.Identity.Name, out ExceptionMsg, out Continue);
                }
            }
            catch (Exception ex)
            {
                string message = _exception.HandleException(ex);
                TempData["CSEXC"] += message;
                TimePlanValidation = false;
            }

            if (!TimePlanValidation)
            {
                TempData["CSEXC"] += ExceptionMsg;
            }

            #endregion

            if (svm.StockHeaderSettings != null)
            {
                if (svm.StockHeaderSettings.isMandatoryMachine == true && (svm.MachineId <= 0 || svm.MachineId == null))
                {
                    ModelState.AddModelError("MachineId", "The Machine field is required");
                }
            }



            if (ModelState.IsValid && BeforeSave && !EventException && (TimePlanValidation || Continue))
            {
                #region CreateRecord
                if (svm.StockHeaderId <= 0)
                {
                    s.CreatedDate  = DateTime.Now;
                    s.ModifiedDate = DateTime.Now;
                    s.CreatedBy    = User.Identity.Name;
                    s.ModifiedBy   = User.Identity.Name;
                    s.Status       = (int)StatusConstants.Drafted;
                    s.ObjectState  = Model.ObjectState.Added;
                    db.StockHeader.Add(s);
                    //_StockHeaderService.Create(s);

                    try
                    {
                        JobConsumptionDocEvents.onHeaderSaveEvent(this, new StockEventArgs(s.StockHeaderId, EventModeConstants.Add), ref db);
                    }
                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXC"] += message;
                        EventException     = true;
                    }

                    try
                    {
                        if (EventException)
                        {
                            throw new Exception();
                        }

                        db.SaveChanges();
                        //_unitOfWork.Save();
                    }

                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXC"] += message;
                        PrepareViewBag(svm.DocTypeId);
                        ViewBag.Mode = "Add";
                        return(View("Create", svm));
                    }

                    try
                    {
                        JobConsumptionDocEvents.afterHeaderSaveEvent(this, new StockEventArgs(s.StockHeaderId, EventModeConstants.Add), ref db);
                    }
                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXC"] += message;
                    }


                    LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                    {
                        DocTypeId    = s.DocTypeId,
                        DocId        = s.StockHeaderId,
                        ActivityType = (int)ActivityTypeContants.Added,
                        DocNo        = s.DocNo,
                        DocDate      = s.DocDate,
                        DocStatus    = s.Status,
                    }));

                    return(RedirectToAction("Modify", "JobConsumptionHeader", new { Id = s.StockHeaderId }).Success("Data saved successfully"));
                }
                #endregion

                #region EditRecord
                else
                {
                    List <LogTypeViewModel> LogList = new List <LogTypeViewModel>();

                    StockHeader temp = _StockHeaderService.Find(s.StockHeaderId);

                    StockHeader ExRec = new StockHeader();
                    ExRec = Mapper.Map <StockHeader>(temp);


                    int status = temp.Status;

                    if (temp.Status != (int)StatusConstants.Drafted && temp.Status != (int)StatusConstants.Import)
                    {
                        temp.Status = (int)StatusConstants.Modified;
                    }


                    temp.DocDate      = s.DocDate;
                    temp.DocNo        = s.DocNo;
                    temp.CostCenterId = s.CostCenterId;
                    temp.MachineId    = s.MachineId;
                    temp.PersonId     = s.PersonId;
                    temp.ProcessId    = s.ProcessId;
                    temp.GodownId     = s.GodownId;
                    temp.Remark       = s.Remark;

                    temp.ModifiedDate = DateTime.Now;
                    temp.ModifiedBy   = User.Identity.Name;
                    temp.ObjectState  = Model.ObjectState.Modified;
                    db.StockHeader.Add(temp);
                    //_StockHeaderService.Update(temp);

                    LogList.Add(new LogTypeViewModel
                    {
                        ExObj = ExRec,
                        Obj   = temp,
                    });

                    XElement Modifications = new ModificationsCheckService().CheckChanges(LogList);

                    try
                    {
                        JobConsumptionDocEvents.onHeaderSaveEvent(this, new StockEventArgs(temp.StockHeaderId, EventModeConstants.Edit), ref db);
                    }
                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXC"] += message;
                        EventException     = true;
                    }

                    try
                    {
                        if (EventException)
                        {
                            throw new Exception();
                        }
                        db.SaveChanges();
                        //_unitOfWork.Save();
                    }

                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXC"] += message;
                        PrepareViewBag(svm.DocTypeId);
                        ViewBag.id = svm.DocTypeId;
                        return(View("Create", svm));
                    }

                    try
                    {
                        JobConsumptionDocEvents.afterHeaderSaveEvent(this, new StockEventArgs(s.StockHeaderId, EventModeConstants.Edit), ref db);
                    }
                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXC"] += message;
                    }


                    LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                    {
                        DocTypeId       = temp.DocTypeId,
                        DocId           = temp.StockHeaderId,
                        ActivityType    = (int)ActivityTypeContants.Modified,
                        DocNo           = temp.DocNo,
                        xEModifications = Modifications,
                        DocDate         = temp.DocDate,
                        DocStatus       = temp.Status,
                    }));


                    return(RedirectToAction("Index", new { id = svm.DocTypeId }).Success("Data saved successfully"));
                }
                #endregion
            }
            PrepareViewBag(svm.DocTypeId);
            ViewBag.Mode = "Add";
            return(View("Create", svm));
        }
示例#27
0
        public string StockPostDB(ref StockViewModel StockViewModel)
        {
            string ErrorText = "";

            if (StockViewModel.StockHeaderId == 0)
            {
                StockHeader H = new StockHeader();

                H.DocHeaderId  = StockViewModel.DocHeaderId;
                H.DocTypeId    = StockViewModel.DocTypeId;
                H.DocDate      = StockViewModel.StockHeaderDocDate;
                H.DocNo        = StockViewModel.DocNo;
                H.DivisionId   = StockViewModel.DivisionId;
                H.SiteId       = StockViewModel.SiteId;
                H.CurrencyId   = StockViewModel.CurrencyId;
                H.PersonId     = StockViewModel.PersonId;
                H.ProcessId    = StockViewModel.HeaderProcessId;
                H.FromGodownId = StockViewModel.HeaderFromGodownId;
                H.GodownId     = StockViewModel.HeaderGodownId;
                H.Remark       = StockViewModel.HeaderRemark;
                H.Status       = StockViewModel.Status;
                H.CreatedBy    = StockViewModel.CreatedBy;
                H.CreatedDate  = StockViewModel.CreatedDate;
                H.ModifiedBy   = StockViewModel.ModifiedBy;
                H.ModifiedDate = StockViewModel.ModifiedDate;
                H.ObjectState  = Model.ObjectState.Added;

                _stockHeaderService.Create(H);

                StockViewModel.StockHeaderId = H.StockHeaderId;
            }



            if (StockViewModel.StockId <= 0)
            {
                Stock L = new Stock();

                if (StockViewModel.StockHeaderId != 0 && StockViewModel.StockHeaderId != -1)
                {
                    L.StockHeaderId = StockViewModel.StockHeaderId;
                }

                L.StockId       = StockViewModel.StockId;
                L.DocDate       = StockViewModel.StockHeaderDocDate;
                L.ProductId     = StockViewModel.ProductId;
                L.ProcessId     = StockViewModel.ProcessId;
                L.GodownId      = StockViewModel.GodownId;
                L.LotNo         = StockViewModel.LotNo;
                L.ProductUidId  = StockViewModel.ProductUidId;
                L.CostCenterId  = StockViewModel.CostCenterId;
                L.Qty_Iss       = StockViewModel.Qty_Iss;
                L.Qty_Rec       = StockViewModel.Qty_Rec;
                L.Rate          = StockViewModel.Rate;
                L.ExpiryDate    = StockViewModel.ExpiryDate;
                L.Specification = StockViewModel.Specification;
                L.Dimension1Id  = StockViewModel.Dimension1Id;
                L.Dimension2Id  = StockViewModel.Dimension2Id;
                L.Remark        = StockViewModel.Remark;
                L.CreatedBy     = StockViewModel.CreatedBy;
                L.CreatedDate   = StockViewModel.CreatedDate;
                L.ModifiedBy    = StockViewModel.ModifiedBy;
                L.ModifiedDate  = StockViewModel.ModifiedDate;

                L.ObjectState = Model.ObjectState.Added;

                Create(L);

                //new StockBalanceService(_unitOfWork).UpdateStockBalance(L);


                StockBalance StockBalance = _stockBalanceService.Find(L.ProductId, L.Dimension1Id, L.Dimension2Id, L.ProcessId, L.LotNo, L.GodownId, L.CostCenterId);

                if (StockBalance == null)
                {
                    StockBalance StockBalance_NewRecord = new StockBalance();

                    StockBalance_NewRecord.ProductId    = L.ProductId;
                    StockBalance_NewRecord.Dimension1Id = L.Dimension1Id;
                    StockBalance_NewRecord.Dimension2Id = L.Dimension2Id;
                    StockBalance_NewRecord.ProcessId    = L.ProcessId;
                    StockBalance_NewRecord.GodownId     = L.GodownId;
                    StockBalance_NewRecord.CostCenterId = L.CostCenterId;
                    StockBalance_NewRecord.LotNo        = L.LotNo;
                    if (L.Qty_Iss != 0)
                    {
                        StockBalance_NewRecord.Qty = -L.Qty_Iss;
                    }
                    if (L.Qty_Rec != 0)
                    {
                        StockBalance_NewRecord.Qty = L.Qty_Rec;
                    }
                    StockBalance_NewRecord.ObjectState = Model.ObjectState.Added;

                    _stockBalanceService.Create(StockBalance_NewRecord);
                }
                else
                {
                    StockBalance.Qty         = StockBalance.Qty - L.Qty_Iss;
                    StockBalance.Qty         = StockBalance.Qty + L.Qty_Rec;
                    StockBalance.ObjectState = Model.ObjectState.Modified;

                    _stockBalanceService.Update(StockBalance);
                }

                StockViewModel.StockId = L.StockId;
            }
            else
            {
                Stock L = Find(StockViewModel.StockId);

                //To Rollback Chenges in Stock Balance done by old entry.
                Stock Temp = new Stock();
                Temp.ProductId    = L.ProductId;
                Temp.Dimension1Id = L.Dimension1Id;
                Temp.Dimension2Id = L.Dimension2Id;
                Temp.ProcessId    = L.ProcessId;
                Temp.GodownId     = L.GodownId;
                Temp.CostCenterId = L.CostCenterId;
                Temp.LotNo        = L.LotNo;
                Temp.Qty_Iss      = L.Qty_Iss;
                Temp.Qty_Rec      = L.Qty_Rec;



                L.DocDate       = StockViewModel.StockDocDate;
                L.ProductId     = StockViewModel.ProductId;
                L.ProcessId     = StockViewModel.ProcessId;
                L.GodownId      = StockViewModel.GodownId;
                L.LotNo         = StockViewModel.LotNo;
                L.CostCenterId  = StockViewModel.CostCenterId;
                L.Qty_Iss       = StockViewModel.Qty_Iss;
                L.Qty_Rec       = StockViewModel.Qty_Rec;
                L.Rate          = StockViewModel.Rate;
                L.ExpiryDate    = StockViewModel.ExpiryDate;
                L.Specification = StockViewModel.Specification;
                L.Dimension1Id  = StockViewModel.Dimension1Id;
                L.Dimension2Id  = StockViewModel.Dimension2Id;
                L.Remark        = StockViewModel.Remark;
                L.CreatedBy     = StockViewModel.CreatedBy;
                L.CreatedDate   = StockViewModel.CreatedDate;
                L.ModifiedBy    = StockViewModel.ModifiedBy;
                L.ModifiedDate  = StockViewModel.ModifiedDate;
                L.ObjectState   = Model.ObjectState.Modified;

                Update(L);

                //new StockBalanceService(_unitOfWork).UpdateStockBalance(L);


                StockBalance StockBalance_Old = _stockBalanceService.Find(Temp.ProductId, Temp.Dimension1Id, Temp.Dimension2Id, Temp.ProcessId, Temp.LotNo, Temp.GodownId, Temp.CostCenterId);

                if (StockBalance_Old != null)
                {
                    StockBalance_Old.Qty         = StockBalance_Old.Qty - Temp.Qty_Rec;
                    StockBalance_Old.Qty         = StockBalance_Old.Qty + Temp.Qty_Iss;
                    StockBalance_Old.ObjectState = Model.ObjectState.Modified;

                    _stockBalanceService.Update(StockBalance_Old);
                }


                StockBalance StockBalance_New = _stockBalanceService.Find(L.ProductId, L.Dimension1Id, L.Dimension2Id, L.ProcessId, L.LotNo, L.GodownId, L.CostCenterId);


                if (StockBalance_New == null)
                {
                    StockBalance StockBalance_NewRecord = new StockBalance();

                    StockBalance_NewRecord.ProductId    = L.ProductId;
                    StockBalance_NewRecord.Dimension1Id = L.Dimension1Id;
                    StockBalance_NewRecord.Dimension2Id = L.Dimension2Id;
                    StockBalance_NewRecord.ProcessId    = L.ProcessId;
                    StockBalance_NewRecord.GodownId     = L.GodownId;
                    StockBalance_NewRecord.CostCenterId = L.CostCenterId;
                    StockBalance_NewRecord.LotNo        = L.LotNo;
                    if (L.Qty_Iss != 0)
                    {
                        StockBalance_NewRecord.Qty = -L.Qty_Iss;
                    }
                    if (L.Qty_Rec != 0)
                    {
                        StockBalance_NewRecord.Qty = L.Qty_Rec;
                    }
                    StockBalance_NewRecord.ObjectState = Model.ObjectState.Added;

                    _stockBalanceService.Create(StockBalance_NewRecord);
                }
                else
                {
                    StockBalance_New.Qty         = StockBalance_New.Qty - L.Qty_Iss;
                    StockBalance_New.Qty         = StockBalance_New.Qty + L.Qty_Rec;
                    StockBalance_New.ObjectState = Model.ObjectState.Modified;

                    _stockBalanceService.Update(StockBalance_New);
                }

                StockViewModel.StockId = L.StockId;
            }

            return(ErrorText);
        }
示例#28
0
        public string InsertStockHeadQ(StockHeader header, string User, ref string result, ref List <string> errSN)
        {
            string err = "";

            try
            {
                result = "";
                conn.BeginTransaction();
                DataSet             ds       = new DataSet();
                Int32               HeaderID = 0;
                List <SqlParameter> param    = new List <SqlParameter>();
                param.Add(new SqlParameter()
                {
                    ParameterName = "StockType", Value = header.StockType
                });
                param.Add(new SqlParameter()
                {
                    ParameterName = "StockTime", Value = header.StockTime
                });
                param.Add(new SqlParameter()
                {
                    ParameterName = "Remark", Value = header.Remark
                });
                param.Add(new SqlParameter()
                {
                    ParameterName = "CreatedBy", Value = User
                });
                conn.CallStoredProcedure("InsStockHeadQHeader", param, out ds, out err);
                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null && string.IsNullOrEmpty(err) && header.detail != null && header.detail.Count > 0)
                {
                    HeaderID = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString());
                    string cal = "";
                    switch (header.StockType)
                    {
                    case "IN":
                        cal = "+";
                        break;

                    case "OUT":
                        cal = "-";
                        break;

                    case "TRANSFER":
                        cal = "+-";
                        break;

                    default:
                        cal = "";
                        break;
                    }
                    //header.StockType == "IN" ? "+" : "-";
                    foreach (StockDetail item in header.detail)
                    {
                        param = new List <SqlParameter>();
                        param.Add(new SqlParameter()
                        {
                            ParameterName = "StockHeaderID", Value = HeaderID
                        });
                        param.Add(new SqlParameter()
                        {
                            ParameterName = "ProductID", Value = item.ProductID, DbType = DbType.Int32
                        });
                        param.Add(new SqlParameter()
                        {
                            ParameterName = "Amount", Value = item.Amount, DbType = DbType.Int32
                        });
                        param.Add(new SqlParameter()
                        {
                            ParameterName = "CAL", Value = cal
                        });
                        param.Add(new SqlParameter()
                        {
                            ParameterName = "SerialNumber", Value = item.SNConcat
                        });
                        conn.CallStoredProcedure("InsStockHeadQDetail", param, out err);

                        if (item.lstSerial != null && item.lstSerial.Count > 0)
                        {
                            foreach (TransProductSerial tps in item.lstSerial)
                            {
                                ds    = new DataSet();
                                param = new List <SqlParameter>();
                                param.Add(new SqlParameter()
                                {
                                    ParameterName = "ProductID", Value = item.ProductID, DbType = DbType.Int32
                                });
                                param.Add(new SqlParameter()
                                {
                                    ParameterName = "SerialNumber", Value = tps.SerialNumber
                                });
                                param.Add(new SqlParameter()
                                {
                                    ParameterName = "CAL", Value = cal
                                });
                                conn.CallStoredProcedure("InsTransProductSerial", param, out ds, out err);
                                if (!string.IsNullOrEmpty(err))
                                {
                                    errSN.Add(err);
                                    break;
                                }

                                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null)
                                {
                                    result = result + "Product Name : " + item.ProductName + " --> " + ds.Tables[0].Rows[0][0].ToString() + "\\r";
                                }
                            }
                        }
                    }
                }

                if (string.IsNullOrEmpty(err) && string.IsNullOrEmpty(result))
                {
                    conn.Commit();
                }
                else
                {
                    conn.RollBack();
                }
            }
            catch (Exception ex)
            {
                err = ex.Message;
            }
            return(err);
        }
示例#29
0
        protected void btnSend_Click(object sender, EventArgs e)
        {
            string mark = GetQueryValue("mark");

            List <Dictionary <string, object> > newAddedList = Grid1.GetNewAddedList();

            if (newAddedList.Count == 0)
            {
                ShowNotify("没有要提交的数据");
                return;
            }

            StockHeader stockHeader = new StockHeader();

            if (mark == "02")
            {
                stockHeader.title = "委外进货单";
            }
            else if (mark == "03")
            {
                stockHeader.title = "委外出货单";
            }

            stockHeader.optdate = DateTime.Now;
            //执行存储过程获取流水号
            SQLHelper.DbHelperSQL.SetConnectionString("");
            object[]  obj              = new object[] { "WW" };
            DataTable dt               = SQLHelper.DbHelperSQL.ExecuteProc_ReturnDataTable("GetSeq", obj, 10);
            string    prosn            = dt.Rows[0][0].ToString();
            string    StockHeaderProsn = "WW" + prosn;

            ShowNotify(StockHeaderProsn);
            stockHeader.StockHeaderProsn = StockHeaderProsn;
            stockHeader.jingbanren       = GetChineseName();

            MYDB.StockHeaders.Add(stockHeader);

            for (int i = 0; i < newAddedList.Count; i++)
            {
                SendOutStockList item = new SendOutStockList();
                item.Barcode = newAddedList[i]["barcode"].ToString();

                //订单号
                item.StockOrderNo = newAddedList[i]["saleno"].ToString();

                item.SendOutOrderNo = newAddedList[i]["orderno"].ToString();
                item.ItemNo         = newAddedList[i]["itemno"].ToString();
                item.ProNo          = newAddedList[i]["prono"].ToString();
                item.ItemName       = newAddedList[i]["itemname"].ToString();
                item.Spec           = newAddedList[i]["spec"].ToString();

                item.Quantity = decimal.Parse(newAddedList[i]["qut"].ToString());
                item.Space    = newAddedList[i]["space"].ToString();
                item.Remark   = newAddedList[i]["remark"].ToString();
                if (mark == "02")
                {
                    item.SendOutProperties = SendOutProperties.委外入库;
                }
                else
                {
                    item.SendOutProperties = SendOutProperties.委外出库;
                }

                item.Mark             = mark;
                item.Unit             = newAddedList[i]["unit"].ToString();
                item.PDate            = DateTime.Now;
                item.StockHeaderProsn = StockHeaderProsn;

                MYDB.SendOutStockLists.Add(item);
            }
            MYDB.SaveChanges();

            ShowNotify("提交成功");

            //清除页面数据
            PageContext.RegisterStartupScript("clearLocalStorage()");
        }
示例#30
0
        protected void btnSend_Click(object sender, EventArgs e)
        {
            List <Dictionary <string, object> > newAddedList = Grid1.GetNewAddedList();

            if (newAddedList.Count == 0)
            {
                ShowNotify("没有要提交的数据");
                return;
            }


            String status = GetQueryValue("status");

            for (int i = 0; i < newAddedList.Count; i++)
            {
                string barcode = newAddedList[i]["barcode"].ToString();
                MYDB.purchaseorderDetail.Where(u => u.BarCode == barcode).Update(u => new PurchaseOrderDetail
                {
                    Status = int.Parse(status)
                });
            }

            StockHeader stockHeader = new StockHeader();

            stockHeader.title   = "采购进货单";
            stockHeader.optdate = DateTime.Now;
            //执行存储过程获取流水号
            SQLHelper.DbHelperSQL.SetConnectionString("");
            object[]  obj              = new object[] { "JH" };
            DataTable dt               = SQLHelper.DbHelperSQL.ExecuteProc_ReturnDataTable("GetSeq", obj, 10);
            string    prosn            = dt.Rows[0][0].ToString();
            string    StockHeaderProsn = "JH" + prosn;

            ShowNotify(StockHeaderProsn);
            stockHeader.StockHeaderProsn = StockHeaderProsn;
            stockHeader.jingbanren       = GetChineseName();

            MYDB.StockHeaders.Add(stockHeader);

            for (int i = 0; i < newAddedList.Count; i++)
            {
                PurchaseStockList item = new PurchaseStockList();

                string barcode   = newAddedList[i]["barcode"].ToString();
                var    purdetail = MYDB.purchaseorderDetail.Where(u => u.BarCode == barcode).FirstOrDefault();

                item.Barcode = newAddedList[i]["barcode"].ToString();
                //订单号
                item.StockOrderNo = newAddedList[i]["saleno"].ToString();

                item.PurOrderNo = newAddedList[i]["orderno"].ToString();
                item.ItemNo     = newAddedList[i]["itemno"].ToString();
                item.ProNo      = newAddedList[i]["prono"].ToString();
                item.ItemName   = newAddedList[i]["itemname"].ToString();
                item.Spec       = newAddedList[i]["spec"].ToString();

                item.result      = purdetail.result;
                item.ChoujianQut = purdetail.ChoujianQut;
                item.checkDate   = purdetail.CheckDate;

                item.Quantity           = decimal.Parse(newAddedList[i]["qut"].ToString());
                item.Space              = newAddedList[i]["space"].ToString();
                item.Remark             = newAddedList[i]["remark"].ToString();
                item.PurchaseProperties = PurchaseProperties.采购入库;
                item.Mark             = "02";
                item.Unit             = newAddedList[i]["unit"].ToString();
                item.PDate            = DateTime.Now;
                item.StockHeaderProsn = StockHeaderProsn;

                MYDB.PurchaseStockLists.Add(item);
            }

            MYDB.SaveChanges();

            ShowNotify("提交成功");

            //清除页面数据
            PageContext.RegisterStartupScript("clearLocalStorage()");
        }