Ejemplo n.º 1
0
        public async Task <IQueryable <vwRequisitionModel> > searchRequisition(filterRequisition objFilter)
        {
            try
            {
                string sql = string.Format("exec req_search {0} , {1} , '{2}' ,'{3}' ,'{4}','{5}' , {6} "
                                           , objFilter.requisition_id == null ? "null" : objFilter.requisition_id.ToString()
                                           , objFilter.route_id == null ? "null" : objFilter.route_id.ToString()
                                           , objFilter.route_name
                                           , objFilter.document_date == null
                        ? ""
                        : string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(objFilter.document_date))
                                           , objFilter.requisition_type
                                           , objFilter.status
                                           , objFilter.round == null ? "null" : objFilter.round.ToString()
                                           );


                RequisitionDataModel objData = new RequisitionDataModel();
                return(UnitOfWork.Context.Query <vwRequisitionModel>().FromSql(sql));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
            }
        }
Ejemplo n.º 2
0
        public async Task <RequisitionDataModel> getAll(filterRequisition objFilter)
        {
            try
            {
                string sql = string.Format("exec stk_trn_search {0} , '{1}' , {2} ",
                                           objFilter.requisition_id == null ? "null" : objFilter.requisition_id.ToString(),
                                           objFilter.product_name, objFilter.route_id == null ? "null" : objFilter.route_id.ToString());

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

                RequisitionDataModel objData = new RequisitionDataModel();
                objData._master = UnitOfWork.Context.Set <RequisitionModel>().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
            {
            }
        }
Ejemplo n.º 3
0
        /// <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 <RequisitionDataModel> UpdateAsync(RequisitionDataModel 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);
        }
Ejemplo n.º 4
0
 public async Task <IActionResult> updateData([FromBody] RequisitionDataModel objData)
 {
     try
     {
         return(Ok(_objModule.UpdateAsync(objData)));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message.ConvertExceptionToErrorInfo()));
     }
 }
Ejemplo n.º 5
0
        public async Task <vwRequisitionModel> requisitionInitByRouteID(Int32 routeId)
        {
            try
            {
                string sql = string.Format("exec req_initByRoute {0} ", routeId);


                RequisitionDataModel objData = new RequisitionDataModel();
                return(UnitOfWork.Context.Query <vwRequisitionModel>().FromSql(sql).FirstOrDefault());
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
            }
        }
Ejemplo n.º 6
0
        //Post([FromBody] ClassType classType)
        public async Task <IActionResult> saveData([FromBody] RequisitionDataModel objData)
        {
            try
            {
                //ProductStockModel objData = new ProductStockModel();
                //objData.product_id = id;
                //objData.item_amt = amt;

                return(Ok(_objModule.SaveRequisitionData(objData)));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message.ConvertExceptionToErrorInfo()));

                //return BadRequest(e.Message.ConvertExceptionToErrorInfo());
                throw;
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        ///     Insert new Product to database
        /// </summary>
        /// <param name="blackList">The object of Product</param>
        /// <returns>The Product object</returns>
        public async Task <RequisitionDataModel> SaveRequisitionData(RequisitionDataModel objData)
        {
            try
            {
                //RequisitionModel objMast = new RequisitionModel();

                List <ProductModel> lstProRemain = new List <ProductModel>();
                if ("APR,POS,DLV".Contains(objData._master.requisition_type))
                {
                    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.Now;
                objData._master.ModifyByUserId = 1;

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

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

                int i = UnitOfWork.Context.SaveChanges();

                foreach (var item in objData._lstProducts)
                {
                    item.ModifyDate     = DateTime.Now;
                    item.ModifyByUserId = 1;
                    if (item.id <= 0)
                    {
                        item.requisition_id = objData._master.requisition_id;
                        item.document_no    = objData._master.document_no;
                        item.status         = "Y";
                        item.CreateDate     = DateTime.Now;
                        item.CreateByUserId = 1;
                        UnitOfWork.Context.Set <RequisitionProductModel>().Add(item);
                    }
                    else
                    {
                        UnitOfWork.Context.Set <RequisitionProductModel>().Update(item);
                    }

                    await UnitOfWork.Context.SaveChangesAsync();

                    if ("APR,POS,DLV".Contains(objData._master.requisition_type))
                    {
                        ProductStockModel objStock = new ProductStockModel();
                        objStock.CreateByUserId = 1;
                        objStock.CreateDate     = DateTime.Now;
                        objStock.ModifyByUserId = item.ModifyByUserId;
                        objStock.ModifyDate     = item.ModifyDate;
                        objStock.product_id     = item.product_id;
                        objStock.relate_doc_id  = item.requisition_id;
                        objStock.item_amt       = item.quantity;
                        objStock.from_action    = objData._master.requisition_type;

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

                if (objData._lstPackages != null)
                {
                    foreach (var item in objData._lstPackages)
                    {
                        item.ModifyDate     = DateTime.Now;
                        item.ModifyByUserId = 1;
                        if (item.id <= 0)
                        {
                            item.requisition_id = objData._master.requisition_id;
                            item.document_no    = objData._master.document_no;
                            item.status         = "Y";
                            item.CreateDate     = DateTime.Now;
                            item.CreateByUserId = 1;
                            UnitOfWork.Context.Set <RequisitionPackageModel>().Add(item);
                        }
                        else
                        {
                            UnitOfWork.Context.Set <RequisitionPackageModel>().Update(item);
                        }

                        await UnitOfWork.Context.SaveChangesAsync();
                    }
                }

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