/// <summary> /// 插入 /// </summary> /// <param name="model"></param> /// <returns></returns> public int Insert(CriticalMass.TagNode.Model.tsku_attribute model, IDbTransaction trn) { IDbConnection conn = trn.Connection; string sqlCommandText = @"insert into tsku_attribute(`sku_id`,`attr_name_id`,`attr_val_id`,`createBy`,`createTime`,`modifyBy`,`modifyTime`)values(@sku_id,@attr_name_id,@attr_val_id,@createBy,@createTime,@modifyBy,@modifyTime);SELECT ifnull(@@IDENTITY,0)"; return(conn.Query <int>(sqlCommandText, model, trn).First()); }
/// <summary> /// 更新 /// </summary> /// <param name="model">模型</param> /// <returns></returns> public bool Update(CriticalMass.TagNode.Model.tsku_attribute model) { IDbConnection conn = base.GetConnection(); string sqlCommandText = @"update tsku_attribute set `sku_id`=@sku_id,`attr_name_id`=@attr_name_id,`attr_val_id`=@attr_val_id,`createBy`=@createBy,`createTime`=@createTime,`modifyBy`=@modifyBy,`modifyTime`=@modifyTime where id=@id"; return(conn.Execute(sqlCommandText, model) > 0 ? true : false); }
/// <summary> /// 是否存在 /// </summary> /// <param name="where">条件</param> ///<param name="parameter">参数</param> /// <returns></returns> public bool Exists(string where, CriticalMass.TagNode.Model.tsku_attribute parameter) { IDbConnection conn = base.GetConnection(); string sql = @"SELECT count(0) FROM tsku_attribute WHERE {0} "; int res = conn.Query <int>(string.Format(sql, where), parameter).First(); return(res > 0); }
/// <summary> /// 删除记录 /// </summary> /// <param name="id">id</param> /// <returns></returns> public bool Del(string where, CriticalMass.TagNode.Model.tsku_attribute parameter, IDbTransaction trn) { if (string.IsNullOrWhiteSpace(where)) { return(false); } IDbConnection conn = trn.Connection; string sqlCommandText = @"delete from tsku_attribute where " + where; return(conn.Execute(sqlCommandText, parameter, trn) > 0 ? true : false); }
/// <summary> /// 更新 /// </summary> /// <param name="model">模型</param> /// <returns></returns> public bool Update(string field, CriticalMass.TagNode.Model.tsku_attribute model, IDbTransaction trn) { IDbConnection conn = trn.Connection; if (model.id <= 0) { return(false); } string sqlCommandText = @"update tsku_attribute set " + field + " where id=@id"; return(conn.Execute(sqlCommandText, model, trn) > 0 ? true : false); }
/// <summary> /// 添加或修改sku /// </summary> /// <param name="model"></param> /// <returns></returns> public string AddOrModifySku([FromBody] dynamic parameModel) { AjaxResult result = new AjaxResult(); try{ TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.RepeatableRead; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { string product_desc = parameModel.product_desc; int product_id = parameModel.product_id; int createBy = parameModel.createBy; int modifyBy = parameModel.modifyBy; var SkuSrv = HttpContext.RequestServices.GetService <ItskuRepository>(); var SkuAttrSrv = HttpContext.RequestServices.GetService <Itsku_attributeRepository>(); List <dynamic> lt = ((string)parameModel.product_attributes.ToString()).Str2List <dynamic>(); if (Convert.ToInt32(CriticalMass.TagNode.Repository.Common.GetObject(string.Format("select count(1) from tsku t where t.`desc`='{0}'", product_desc))) > 0) { throw new Exception("产品名称已存在!"); } //sku CriticalMass.TagNode.Model.tsku s = product_id > 0 ? SkuSrv.GetModel(product_id) : new tsku(); s.desc = product_desc; s.status = 1; if (s.id > 0) { s.modifyBy = modifyBy; s.modifyTime = DateTime.Now; } else { s.createBy = createBy; s.createTime = DateTime.Now; s.id = SkuSrv.Insert(s); s.code = s.id.IntToHex(); } SkuSrv.Update(s); //sku属性 CriticalMass.TagNode.Repository.Common.ExecSql(string.Format("update tsku_attribute t set t.status=0 where t.sku_id='{0}'", s.id)); lt.Each(a => { int attribute_id = a.attribute_id; List <int> lt_attr_vals = ((string)a.attribute_val_id.ToString()).Str2List <int>(); lt_attr_vals.Each(b => { CriticalMass.TagNode.Model.tsku_attribute SkuAttr = SkuAttrSrv.GetModel(string.Format("sku_id='{0}' and attr_name_id='{1}' and attr_val_id='{2}'", s.id, attribute_id, b)); if (SkuAttr == null) { SkuAttr = new tsku_attribute(); } SkuAttr.sku_id = s.id; SkuAttr.attr_name_id = attribute_id; SkuAttr.attr_val_id = b; SkuAttr.status = 1; if (SkuAttr.id == 0) { SkuAttr.createBy = createBy; SkuAttr.createTime = DateTime.Now; SkuAttrSrv.Insert(SkuAttr); } else { SkuAttrSrv.Update(SkuAttr); } }); }); CriticalMass.TagNode.Repository.Common.ExecSql(string.Format("delete from tsku_attribute t where t.status=0 and t.sku_id='{0}'", s.id)); scope.Complete(); result.Data = s.id; result.Msg = "ok"; } } catch (Exception ex) { result.Msg = ex.Message; } return(result.ToJson()); }