public IActionResult InsertCatProductParameters(long catProductId, List <long> parametersIdList) { try { var deletedList = _repository.CatProductParameters.FindByCondition(c => c.CatProductId == catProductId && !parametersIdList.Contains(c.ParametersId.Value)) .ToList(); _repository.CatProductParameters.RemoveRange(deletedList); var indbIDs = _repository.CatProductParameters.FindByCondition(c => c.CatProductId == catProductId && c.DaDate == null && c.Ddate == null) .Select(c => c.ParametersId.Value).ToList(); var tobeInsertedList = parametersIdList.Except(indbIDs).ToList(); tobeInsertedList.ForEach(c => { CatProductParameters catp = new CatProductParameters { CatProductId = catProductId, ParametersId = c, Cdate = DateTime.Now.Ticks, CuserId = ClaimPrincipalFactory.GetUserId(User) }; var productlist = _repository.Product.FindByCondition(c => c.CatProductId == catProductId) .Select(c => c.Id).ToList(); productlist.ForEach(c => { var productparams = new ProductCatProductParameters { Value = null, Cdate = DateTime.Now.Ticks, CuserId = ClaimPrincipalFactory.GetUserId(User), ProductId = c, }; catp.ProductCatProductParameters.Add(productparams); }); _repository.CatProductParameters.Create(catp); }); _repository.Save(); return(Ok("")); } catch (Exception e) { _logger.LogError(e, e.Message); return(BadRequest("Internal Server Error")); } }
public IActionResult InsertProduct() { var coverpath = ""; var downloadpath = ""; try { var product = JsonSerializer.Deserialize <Product>(HttpContext.Request.Form["Product"]); var releventList = JsonSerializer.Deserialize <List <long> >(HttpContext.Request.Form["releventList"]); var coverImageUrl = HttpContext.Request.Form.Files.GetFile("CoverImage"); var downloadLink = HttpContext.Request.Form.Files.GetFile("DownloadLink"); if (coverImageUrl != null) { var uploadFileStatus = FileManeger.FileUploader(coverImageUrl, 1, "ProductImages"); if (uploadFileStatus.Status == 200) { coverpath = uploadFileStatus.Path; } else { return(BadRequest(uploadFileStatus.Path)); } } if (downloadLink != null && product.VirtualProduct.Value) { var uploadFileStatus = FileManeger.FileUploader(downloadLink, 3, "ProductFiles"); if (uploadFileStatus.Status == 200) { downloadpath = uploadFileStatus.Path; } else { return(BadRequest(uploadFileStatus.Path)); } } product.CoverImageUrl = coverpath; product.DownloadLink = downloadpath; product.CuserId = ClaimPrincipalFactory.GetUserId(User); product.Cdate = DateTime.Now.Ticks; var counter = (_repository.Product .FindByCondition(c => c.Coding.ToString().Substring(0, 9) == product.Coding.ToString()) .Count() + 1).ToString(); counter = counter.PadLeft(3, '0'); product.Coding = Convert.ToInt64(string.Concat(product.Coding.ToString(), counter)); product.LastSeenDate = DateTime.Now.Ticks; product.SeenCount = 0; var parameters = _repository.CatProductParameters .FindByCondition(c => c.CatProductId == product.CatProductId).ToList(); parameters.ForEach(c => { var paramss = new ProductCatProductParameters { CatProductParametersId = c.Id, CuserId = ClaimPrincipalFactory.GetUserId(User), Cdate = DateTime.Now.Ticks }; product.ProductCatProductParameters.Add(paramss); }); releventList.ForEach(c => { var pro = new RelatedProduct { CuserId = ClaimPrincipalFactory.GetUserId(User), Cdate = DateTime.Now.Ticks, DestinProductId = c }; product.RelatedProductOriginProduct.Add(pro); }); _repository.Product.Create(product); _repository.Save(); return(NoContent()); } catch (Exception e) { FileManeger.FileRemover(new List <string> { coverpath, downloadpath }); _logger.LogError(e, MethodBase.GetCurrentMethod()); return(BadRequest(e.Message)); } }