public Result PostRawMaterial([FromBody] RawMaterial rawMaterial) { var createUserId = Request.GetIdentityInformation(); var time = DateTime.Now; var cnt = RawMaterialHelper.GetCount(rawMaterial.RawMaterialName); if (cnt > 0) { return(Result.GenError <Result>(Error.RawMaterialIsExist)); } rawMaterial.CreateUserId = createUserId; rawMaterial.MarkedDateTime = time; var index = RawMaterialHelper.Instance.AddBackId(rawMaterial); if (rawMaterial.Specifications.Any()) { var specifications = rawMaterial.Specifications; foreach (var specification in specifications) { specification.RawMaterialId = index; specification.CreateUserId = createUserId; specification.MarkedDateTime = time; } RawMaterialSpecificationHelper.Instance.Add(specifications); } return(Result.GenError <Result>(Error.Success)); }
public DataResult GetRawMaterial([FromQuery] bool menu, int qId, DateTime startTime, DateTime endTime) { var result = new DataResult(); if (menu) { result.datas.AddRange(RawMaterialHelper.GetMenu(qId)); } else { //if (!rawMaterialName.IsNullOrEmpty() && startTime != default(DateTime) && endTime != default(DateTime)) //{ // sql = // "SELECT * FROM `raw_material` WHERE MarkedDelete = 0 AND RawMaterialName = @RawMaterialName AND MarkedDateTime >= @StartTime AND MarkedDateTime <= @EndTime;"; //} //else if (!rawMaterialName.IsNullOrEmpty()) //{ // sql = // "SELECT * FROM `raw_material` WHERE MarkedDelete = 0 AND RawMaterialName = @RawMaterialName;"; //} //else if (startTime != default(DateTime) && endTime != default(DateTime)) //{ // sql = // "SELECT * FROM `raw_material` WHERE MarkedDelete = 0 AND MarkedDateTime >= @StartTime AND MarkedDateTime <= @EndTime;"; //} //else //{ // sql = // "SELECT * FROM `raw_material` WHERE MarkedDelete = 0;"; //} //var rawMaterials = ServerConfig.ApiDb.Query<RawMateria>(sql, new //{ // RawMaterialName = rawMaterialName, // StartTime = startTime, // EndTime = endTime //}).OrderByDescending(x => x.MarkedDateTime); //var rawMaterialSpecifications = ServerConfig.ApiDb.Query<RawMaterialSpecification>("SELECT * FROM `raw_material_specification` WHERE MarkedDelete = 0;"); //foreach (var rawMaterial in rawMaterials) //{ // var specifications = rawMaterialSpecifications.Where(x => x.RawMaterialId == rawMaterial.Id); // rawMaterial.RawMaterialSpecifications.AddRange(specifications); //} var rawMaterials = RawMaterialHelper.GetDetail(qId, startTime, endTime); if (qId != 0 && rawMaterials.Any()) { var rawMaterial = rawMaterials.First(); rawMaterial.Specifications.AddRange(RawMaterialSpecificationHelper.Instance.GetFromParent <RawMaterialSpecification>(rawMaterial.Id)); } result.datas.AddRange(rawMaterials); } if (qId != 0 && !result.datas.Any()) { result.errno = Error.RawMaterialNotExist; return(result); } return(result); }
public Result PutRawMaterial([FromBody] RawMaterial rawMaterial) { if (rawMaterial == null) { return(Result.GenError <Result>(Error.ParamError)); } if (rawMaterial.RawMaterialName.IsNullOrEmpty()) { return(Result.GenError <Result>(Error.RawMaterialNotExist)); } var sames = new List <string> { rawMaterial.RawMaterialName }; var ids = new List <int> { rawMaterial.Id }; if (RawMaterialHelper.GetHaveSame(sames, ids)) { return(Result.GenError <Result>(Error.RawMaterialIsExist)); } var data = RawMaterialHelper.Instance.Get <RawMaterial>(rawMaterial.Id); if (data == null) { return(Result.GenError <Result>(Error.RawMaterialNotExist)); } var createUserId = Request.GetIdentityInformation(); var time = DateTime.Now; var change = false; //if (rawMaterial.RawMaterialSpecifications.Any()) { var specifications = rawMaterial.Specifications; foreach (var specification in specifications) { specification.RawMaterialId = rawMaterial.Id; specification.CreateUserId = createUserId; specification.MarkedDateTime = time; } if (specifications.Any(x => x.Id == 0)) { change = true; RawMaterialSpecificationHelper.Instance.Add(specifications.Where(x => x.Id == 0)); } var existSpecifications = RawMaterialSpecificationHelper.Instance.GetFromParent <RawMaterialSpecification>(rawMaterial.Id); var updateSpecifications = specifications.Where(x => x.Id != 0 && existSpecifications.Any(y => y.Id == x.Id && (y.SpecificationName != x.SpecificationName || y.SpecificationValue != x.SpecificationValue))).ToList(); updateSpecifications.AddRange(existSpecifications.Where(x => specifications.All(y => x.Id != y.Id)).Select(x => { x.MarkedDateTime = DateTime.Now; x.MarkedDelete = true; return(x); })); if (updateSpecifications.Any()) { change = true; RawMaterialSpecificationHelper.Instance.Update <RawMaterialSpecification>(updateSpecifications); } } if (change || ClassExtension.HaveChange(rawMaterial, data)) { rawMaterial.MarkedDateTime = time; RawMaterialHelper.Instance.Update(rawMaterial); } return(Result.GenError <Result>(Error.Success)); }