override public void RegistInstants(params object[] instants) { if (instants.Length > 0) { this.stoexchangeContract = (StoExchangeContract)(instants[0]); } }
public static string Exchange(StoExchangeContract storeExchangeDTO, StoExchangeDetailContract storeExchangeDetailDTO, SqlTransaction tran) { try { CatProductStoreContract productStoreDTO = new CatProductStoreContract(); string storeCond = "StoreID=" + storeExchangeDTO.Fromstoreid + " AND ProductId=" + storeExchangeDetailDTO.Productid; DataTable fromStoreProductTable = productStoreDT.GetByCond(storeCond, " OrderNum ASC"); var totalQuantity = fromStoreProductTable.Compute("SUM(Quantity)", ""); if (Converter.ToInt32(totalQuantity) < Converter.ToInt32(storeExchangeDetailDTO.Quantity)) { return(string.Format("Lỗi: Số lượng trong không đủ để chuyển.")); } else if (storeExchangeDTO.Fromstoreid == storeExchangeDTO.Tostoreid) { return(""); } else { int tmpQuantity = 0; foreach (DataRow row in fromStoreProductTable.Rows) { tmpQuantity += Converter.ToInt32(row["Quantity"]); if (tmpQuantity < Converter.ToInt32(storeExchangeDetailDTO.Quantity)) { productStoreDTO.Importcode = row["ImportCode"].ToString(); productStoreDTO.Importdate = row["ImportDate"].ToString(); productStoreDTO.Storeid = storeExchangeDTO.Tostoreid; productStoreDTO.Productid = storeExchangeDetailDTO.Productid; productStoreDTO.Inventory = row["Quantity"].ToString(); productStoreDTO.Quantity = row["Quantity"].ToString(); productStoreDTO.Price = row["Price"].ToString(); productStoreDTO.Ordernum = row["OrderNum"].ToString(); productStoreDT.Insert(productStoreDTO, tran); productStoreDT.Update(new string[] { "Quantity" }, new string[] { "0" }, "ID=" + row["ID"].ToString(), tran); } else { int exchangedQuantity = Converter.ToInt32(row["Quantity"]) - (tmpQuantity - Converter.ToInt32(storeExchangeDetailDTO.Quantity)); int rowNewQuantity = Converter.ToInt32(row["Quantity"]) - exchangedQuantity; productStoreDTO.Importcode = row["ImportCode"].ToString(); productStoreDTO.Importdate = row["ImportDate"].ToString(); productStoreDTO.Storeid = storeExchangeDTO.Tostoreid; productStoreDTO.Productid = storeExchangeDetailDTO.Productid; productStoreDTO.Inventory = exchangedQuantity.ToString(); productStoreDTO.Quantity = exchangedQuantity.ToString(); productStoreDTO.Price = row["Price"].ToString(); productStoreDTO.Ordernum = row["OrderNum"].ToString(); productStoreDT.Insert(productStoreDTO, tran); productStoreDT.Update(new string[] { "Quantity" }, new string[] { rowNewQuantity.ToString() }, "ID=" + row["ID"].ToString(), tran); break; } } } } catch (Exception e) { throw e; } return(""); }
/// <summary> /// Insert đối tượng vào database /// </summary> /// <param name="menu"></param> /// <returns></returns> public string Insert(StoExchangeContract stoexchange, SqlTransaction tran = null) { DataTable dtResult = null; string query = string.Format(@"INSERT INTO Sto_Exchange VALUES ({0},{1},{2},{3},convert(datetime,{4},103),{5},{6})", (stoexchange.Salestaffid != null? stoexchange.Salestaffid.ToString() : "null").ToString(), (stoexchange.Code.Trim() != String.Empty? "N'" + SQLHelper.RejectInjection(stoexchange.Code.ToString()) + "'" : "null").ToString(), (stoexchange.Fromstoreid != null? stoexchange.Fromstoreid.ToString() : "null").ToString(), (stoexchange.Tostoreid != null? stoexchange.Tostoreid.ToString() : "null").ToString(), (stoexchange.Createdate != null? "'" + SQLHelper.RejectInjection(stoexchange.Createdate.ToString()) + "'" : "null").ToString(), (stoexchange.Description.Trim() != String.Empty? "N'" + SQLHelper.RejectInjection(stoexchange.Description.ToString()) + "'" : "null").ToString(), (stoexchange.Ordernum.Trim() != String.Empty ? stoexchange.Ordernum.ToString() : "null").ToString()); query += " ; select SCOPE_IDENTITY();"; if (tran == null) { dtResult = DataProvider.ExecuteQuery(query); } else { dtResult = DataProvider.ExecuteQueryWithTransaction(query, tran); } if (dtResult != null && dtResult.Rows.Count > 0) { return(dtResult.Rows[0][0].ToString()); } return(""); }
public HttpResponseMessage Save(string exchangeJson, string exchangeDetailsJson) { string exchangeId = ""; string errMessage = ""; StoExchangeContract exchangeDTO = JsonConvert.DeserializeObject <StoExchangeContract>(exchangeJson); StoExchangeDetailContract[] exchangeDetailDTOs = JsonConvert.DeserializeObject <StoExchangeDetailContract[]>(exchangeDetailsJson); SqlTransaction tran = DataProvider.beginTrans(); try { businessRule.RegistInstants(exchangeDTO); if (exchangeDTO.Id > 0) { exchangeId = exchangeDT.Update(exchangeDTO, tran); } else { businessRule.RegistRule("Insert"); if (businessRule.CheckRules(out errMessage)) { exchangeId = exchangeDT.Insert(exchangeDTO, tran); } else { return(handleBRFailed(errMessage, tran)); } } if (Converter.ToInt32(exchangeId) > 0) { foreach (StoExchangeDetailContract exchangeDetailDTO in exchangeDetailDTOs) { exchangeDetailDTO.Exchangeid = Converter.ToInt32(exchangeId); exchangeDetailDT.Insert(exchangeDetailDTO, tran); errMessage = StoreModel.Exchange(exchangeDTO, exchangeDetailDTO, tran); if (errMessage != "") { DataProvider.RollbackTrans(tran); return(Request.CreateResponse <string>(HttpStatusCode.OK, errMessage)); } } } DataProvider.CommitTrans(tran); } catch (Exception e) { DataProvider.RollbackTrans(tran); ExceptionHandler.Log(e); } return(Request.CreateResponse <string>(HttpStatusCode.OK, errMessage != string.Empty ? errMessage : exchangeId)); }
/// <summary> /// Cập nhật thông tin đối tượng /// </summary> /// <param name="menu"></param> /// <param name="tran"></param> /// <returns></returns> public string Update(StoExchangeContract stoexchange, SqlTransaction tran = null) { string query = String.Format("UPDATE " + TableName + @" SET SaleStaffID={0},Code={1},FromStoreID={2},ToStoreID={3},CreateDate=convert(datetime,{4},103),Description={5},OrderNum={6} WHERE ID=" + stoexchange.Id.ToString(), (stoexchange.Salestaffid != null? stoexchange.Salestaffid.ToString() : "null").ToString(), (stoexchange.Code.Trim() != String.Empty? "N'" + SQLHelper.RejectInjection(stoexchange.Code.ToString()) + "'" : "null").ToString(), (stoexchange.Fromstoreid != null? stoexchange.Fromstoreid.ToString() : "null").ToString(), (stoexchange.Tostoreid != null? stoexchange.Tostoreid.ToString() : "null").ToString(), (stoexchange.Createdate != null? "'" + SQLHelper.RejectInjection(stoexchange.Createdate.ToString()) + "'" : "null").ToString(), (stoexchange.Description.Trim() != String.Empty? "N'" + SQLHelper.RejectInjection(stoexchange.Description.ToString()) + "'" : "null").ToString(), (stoexchange.Ordernum.Trim() != String.Empty ? stoexchange.Ordernum.ToString() : "null").ToString()); if (tran == null) { DataProvider.ExecuteNonQuery(query); } else { DataProvider.ExecuteNonQueryWithTransaction(query, tran); } return(stoexchange.Id.ToString()); }
public HttpResponseMessage Save(string stoexchangeJson) { string errMessage = string.Empty; try { StoExchangeContract stoexchange = JsonConvert.DeserializeObject <StoExchangeContract>(stoexchangeJson); businessRule.RegistInstants(stoexchange); if (stoexchange.Id == 0) { businessRule.RegistRule("Insert"); if (businessRule.CheckRules(out errMessage)) { return(Request.CreateResponse <string>(HttpStatusCode.OK, dta.Insert(stoexchange))); } else { return(handleBRFailed(errMessage)); } } else { businessRule.RegistRule("Update"); if (businessRule.CheckRules(out errMessage)) { return(Request.CreateResponse <string>(HttpStatusCode.OK, dta.Update(stoexchange))); } else { return(handleBRFailed(errMessage)); } } } catch (Exception e) { ExceptionHandler.Log(e); return(Request.CreateResponse <string>(HttpStatusCode.OK, "Có lỗi xảy ra trên chương trình.")); } }
public StoExchangeRule ValidateInstant(StoExchangeContract dto) { return(this); }