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 { } }
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 { } }
/// <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); }
public async Task <IActionResult> updateData([FromBody] RequisitionDataModel objData) { try { return(Ok(_objModule.UpdateAsync(objData))); } catch (Exception e) { return(BadRequest(e.Message.ConvertExceptionToErrorInfo())); } }
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 { } }
//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; } }
/// <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); } }