コード例 #1
0
ファイル: ReturnRequisitionModule.cs プロジェクト: idev28/ice
        public async Task <IQueryable <vwReturnRequisitionProductModel> > searchRequisitionProduct(
            filterReturnRequisition objFilter)
        {
            try
            {
                string sql = string.Format("exec req_search_product {0} , '{1}'"
                                           , objFilter.retrun_requisition_id == null ? "null" : objFilter.retrun_requisition_id.ToString()
                                           , objFilter.status
                                           );


                ReturnRequisitionDataModel objData = new ReturnRequisitionDataModel();
                //List<vwReturnRequisitionModel> dd = UnitOfWork.Context.Query<vwReturnRequisitionModel>().FromSql(sql).ToList();
                //if (dd.Count() > 0)
                //{
                return(UnitOfWork.Context.Query <vwReturnRequisitionProductModel>()
                       .FromSql(sql)); // UnitOfWork.Context.Query<vwReturnRequisitionModel>().FromSql(sql).FirstOrDefault();
                //objData._master = UnitOfWork.Context.Set<ReturnRequisitionModel>().Where(w => w.requisition_id.Equals(i)).FirstOrDefault();
                //objData._lstProducts = UnitOfWork.Context.Set<RequisitionProductModel>().Where(w => w.requisition_id.Equals(i)).ToList();
                //objData._lstPackages = UnitOfWork.Context.Set<RequisitionPackageModel>().Where(w => w.requisition_id.Equals(i)).ToList();
                ////}
                //return objData;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
            }
        }
コード例 #2
0
ファイル: ReturnRequisitionModule.cs プロジェクト: idev28/ice
        /// <summary>
        ///     UpdateAsync Product to database
        /// </summary>
        /// <param name="id">The id of Product</param>
        /// <param name="Product">The object of Product</param>
        /// <returns>null</returns>
        public async Task <ReturnRequisitionDataModel> UpdateAsync(ReturnRequisitionDataModel objData)
        {
            //var ent = UnitOfWork.Context.Entry<ProductStockModel>(Product);
            //ent.State = EntityState.Modified;
            //int re = await UnitOfWork.Context.SaveChangesAsync();

            ////await UnitOfWork.ProductRepository.UpdateAsync(Product);
            ////await SaveAsync();

            return(objData);
        }
コード例 #3
0
ファイル: ReturnRequisitionModule.cs プロジェクト: idev28/ice
        public async Task <vwReturnRequisitionModel> requisitionInitByRouteID(Int32 routeId)
        {
            try
            {
                string sql = string.Format("exec req_initByRoute {0} ", routeId);


                ReturnRequisitionDataModel objData = new ReturnRequisitionDataModel();
                return(UnitOfWork.Context.Query <vwReturnRequisitionModel>().FromSql(sql).FirstOrDefault());
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
            }
        }
コード例 #4
0
ファイル: ReturnRequisitionModule.cs プロジェクト: idev28/ice
        public async Task <ReturnRequisitionDataModel> initReturnRequisitionByRouteID(filterReturnRequisition objFilter)
        {
            try
            {
                string sql = string.Format("exec return_req_initByRoute {0} , '{1}' "
                                           , objFilter.route_id == null ? "null" : objFilter.route_id.ToString()
                                           , objFilter.document_date == null ? "" : string.Format("{0:yyyy-MM-dd}", objFilter.document_date)
                                           );

                ReturnRequisitionDataModel objData = new ReturnRequisitionDataModel();
                objData._vwMaster = UnitOfWork.Context.Query <vwReturnRequisitionModel>().FromSql(sql).FirstOrDefault();

                sql = string.Format("exec return_req_initByRoute_product {0} , '{1}' "
                                    , objFilter.route_id == null ? "null" : objFilter.route_id.ToString()
                                    , objFilter.document_date == null ? "" : string.Format("{0:yyyy-MM-dd}", objFilter.document_date)
                                    );
                objData._lstVwProducts =
                    UnitOfWork.Context.Query <vwReturnRequisitionProductModel>().FromSql(sql).ToList();

                sql = string.Format("exec return_req_initByRoute_package {0} , '{1}' "
                                    , objFilter.route_id == null ? "null" : objFilter.route_id.ToString()
                                    , objFilter.document_date == null ? "" : string.Format("{0:yyyy-MM-dd}", objFilter.document_date)
                                    );
                objData._lstVwPackages =
                    UnitOfWork.Context.Query <vwReturnRequisitionPackageModel>().FromSql(sql).ToList();


                sql = string.Format("exec return_req_prepareItemByRoute {0} , '{1}' "
                                    , objFilter.route_id == null ? "null" : objFilter.route_id.ToString()
                                    , objFilter.document_date == null ? "" : string.Format("{0:yyyy-MM-dd}", objFilter.document_date)
                                    );
                objData._lstVwPrepareItems =
                    UnitOfWork.Context.Query <ReturnRequisitionItemPrepare>().FromSql(sql).ToList();

                return(objData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
            }
        }
コード例 #5
0
ファイル: ReturnRequisitionModule.cs プロジェクト: idev28/ice
        public async Task <ReturnRequisitionDataModel> getAll(filterReturnRequisition objFilter)
        {
            try
            {
                //string sql = string.Format("exec stk_trn_search {0} , '{1}' , {2} ", objFilter.retrun_requisition_id == null ? "null" : objFilter.retrun_requisition_id.ToString(), objFilter.product_name, objFilter.route_id == null ? "null" : objFilter.route_id.ToString());

                //int i = Convert.ToInt32(objFilter.retrun_requisition_id ?? 0);

                ReturnRequisitionDataModel objData = new ReturnRequisitionDataModel();
                //objData._master = UnitOfWork.Context.Set<ReturnRequisitionModel>().Where(w => w.retrun_requisition_id.Equals(i)).FirstOrDefault();
                //objData._lstProducts = UnitOfWork.Context.Set<ReturnRequisitionProductModel>().Where(w => w.id.Equals(i)).ToList();
                //objData._lstPackages = UnitOfWork.Context.Set<ReturnRequisitionPackageModel>().Where(w => w.id.Equals(i)).ToList();

                return(objData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
            }
        }
コード例 #6
0
ファイル: ReturnRequisitionModule.cs プロジェクト: idev28/ice
        /// <summary>
        ///     Insert new Product to database
        /// </summary>
        /// <param name="blackList">The object of Product</param>
        /// <returns>The Product object</returns>
        public async Task <ReturnRequisitionDataModel> SaveReturnRequisitionData(ReturnRequisitionDataModel objData)
        {
            try
            {
                //ReturnRequisitionModel objMast = new ReturnRequisitionModel();

                //List<ProductModel> lstProRemain = new List<ProductModel>();
                //if (objData._master.description == "APR")
                //{
                //    foreach (var item in objData._lstProducts)
                //    {
                //        var objChk = UnitOfWork.Context.Set<ProductModel>().Where(w => w.product_id.Equals(item.product_id) && w.remain_amt < item.quantity).FirstOrDefault();
                //        if (objChk != null)
                //            lstProRemain.Add(objChk);
                //    }

                //    if (lstProRemain.Count > 0)
                //    {
                //        var lstMsg = lstProRemain.Select(s => string.Format("รายการสินค้า {0} ยอดคงเหลือ {1} น้อยกว่า ยอดเบิกจ่าย", s.product_name, s.remain_amt));
                //        throw new Exception(new ErrorInfo
                //        {
                //            Message = string.Join("\n", lstMsg),
                //            MessageLocal = string.Join("\n", lstMsg),
                //            Data = -1
                //        }.ConvertErrorInfoToException());
                //    }
                //}

                objData._master.ModifyDate     = DateTime.Today;
                objData._master.ModifyByUserId = 1;

                if (objData._master.retrun_requisition_id <= 0)
                {
                    //objData._master.document_no = "abc";

                    objData._master.CreateDate     = DateTime.Today;
                    objData._master.CreateByUserId = 1;
                    UnitOfWork.Context.Set <ReturnRequisitionModel>().Add(objData._master);
                }
                else
                {
                    UnitOfWork.Context.Set <ReturnRequisitionModel>().Update(objData._master);
                }

                int i = UnitOfWork.Context.SaveChanges();
                foreach (var item in objData._lstProducts)
                {
                    item.ModifyDate     = DateTime.Today;
                    item.ModifyByUserId = 1;
                    if (item.return_product_id <= 0)
                    {
                        item.retrun_requisition_id = objData._master.retrun_requisition_id;
                        //item.document_no = objData._master.document_no;
                        item.status         = "Y";
                        item.CreateDate     = DateTime.Today;
                        item.CreateByUserId = 1;
                        UnitOfWork.Context.Set <ReturnRequisitionProductModel>().Add(item);
                    }
                    else
                    {
                        UnitOfWork.Context.Set <ReturnRequisitionProductModel>().Update(item);
                    }

                    UnitOfWork.Context.SaveChanges();

                    if (item.return_quantity > 0)
                    {
                        ProductStockModel objStock = new ProductStockModel();
                        objStock.CreateByUserId = 1;
                        objStock.CreateDate     = DateTime.Today;
                        objStock.ModifyByUserId = item.ModifyByUserId;
                        objStock.ModifyDate     = item.ModifyDate;
                        objStock.product_id     = item.product_id;
                        objStock.relate_doc_id  = item.return_product_id;
                        objStock.item_amt       = item.return_quantity ?? 0;
                        objStock.from_action    = "RTN";

                        ProductStockModule processStock = new ProductStockModule(UnitOfWork);
                        await processStock.InsertAsync(objStock);
                    }
                }

                foreach (var item in objData._lstPackages)
                {
                    //item.ModifyDate = DateTime.Today;
                    //item.ModifyByUserId = 1;
                    if (item.return_requisition_package_id <= 0)
                    {
                        item.retrun_requisition_id = objData._master.retrun_requisition_id;
                        //item.document_no = objData._master.document_no;
                        item.status = "Y";
                        //item.CreateDate = DateTime.Today;
                        //item.CreateByUserId = 1;
                        UnitOfWork.Context.Set <ReturnRequisitionPackageModel>().Add(item);
                    }
                    else
                    {
                        UnitOfWork.Context.Set <ReturnRequisitionPackageModel>().Update(item);
                    }

                    UnitOfWork.Context.SaveChanges();
                }

                foreach (var item in objData._lstItems)
                {
                    //item.ModifyDate = DateTime.Today;
                    //item.ModifyByUserId = 1;
                    if (item.return_requisition_item_id <= 0)
                    {
                        item.retrun_requisition_id = objData._master.retrun_requisition_id;
                        //item.document_no = objData._master.document_no;
                        item.status = "Y";
                        //item.CreateDate = DateTime.Today;
                        //item.CreateByUserId = 1;
                        UnitOfWork.Context.Set <ReturnRequisitionItemModel>().Add(item);
                    }
                    else
                    {
                        UnitOfWork.Context.Set <ReturnRequisitionItemModel>().Update(item);
                    }

                    UnitOfWork.Context.SaveChanges();
                }

                return(objData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }