public IActionResult UpdateProductPacking(ProductPackingType productPackingType) { try { var _productPackingType = _repository.ProductPackingType.FindByCondition(c => (c.Id == productPackingType.Id)).FirstOrDefault(); if (_productPackingType == null) { return(BadRequest("نوع بسته بندی انتخابی وجود ندارد!")); } _productPackingType.Price = productPackingType.Price; _productPackingType.Weight = productPackingType.Weight; _productPackingType.Mdate = DateTime.Now.Ticks; _productPackingType.MuserId = ClaimPrincipalFactory.GetUserId(User); _repository.ProductPackingType.Update(_productPackingType); _repository.Save(); return(NoContent()); } catch (Exception e) { _logger.LogError(e, e.Message); return(BadRequest(e.Message)); } }
public IActionResult InsertProductPackingList(ProductPackingListInsertDto input) { try { var validator = new ParamValidator(); validator.ValidateNull(input.Title, General.Messages_.NullInputMessages_.GeneralNullMessage("نام")) .ValidateNull(input.PackingTypeId, General.Messages_.NullInputMessages_.GeneralNullMessage("کد بسته بندی")) .Throw(General.Results_.FieldNullErrorCode()); var packingType = _repository.PackingType.FindByCondition(c => c.Id == input.PackingTypeId && c.DaDate == null && c.Ddate == null).FirstOrDefault(); if (packingType == null || packingType.Count < 1) { throw new BusinessException(XError.BusinessErrors.InvalidPackingType()); } var packingList = new ProductPackingTypeList { Cdate = DateTime.Now.Ticks, CuserId = ClaimPrincipalFactory.GetUserId(User), Title = input.Title, }; input.ProductIdList.ForEach(c => { var pp = new ProductPackingType { Cdate = DateTime.Now.Ticks, CuserId = ClaimPrincipalFactory.GetUserId(User), PackinggTypeId = input.PackingTypeId, ProductId = c, Price = packingType.Price }; packingList.ProductPackingType.Add(pp); }); packingType.Count -= 1; _repository.ProductPackingTypeList.Create(packingList); _repository.PackingType.Update(packingType); _repository.Save(); _logger.LogData(MethodBase.GetCurrentMethod(), packingList.Id, null, input); return(Ok(packingType.Id)); } catch (Exception e) { _logger.LogError(e, MethodBase.GetCurrentMethod(), input); return(BadRequest(e.Message)); } }
public IActionResult InsertProductPackingType(ProductPackingType productPackingType) { try { if (_repository.ProductPackingType.FindByCondition(c => (c.ProductId == productPackingType.ProductId) && (c.PackinggTypeId == productPackingType.PackinggTypeId)).Any()) { return(BadRequest("بسته بندی انتخابی برای محصول مورد نظر قبلا ثبت شده است")); } productPackingType.Cdate = DateTime.Now.Ticks; productPackingType.CuserId = ClaimPrincipalFactory.GetUserId(User); _repository.ProductPackingType.Create(productPackingType); _repository.Save(); return(NoContent()); } catch (Exception e) { _logger.LogError(e, e.Message); return(BadRequest(e.Message)); } }
public IActionResult UpdateProductPackingList(ProductPackingListInsertDto input) { try { var validator = new ParamValidator(); validator.ValidateNull(input.Title, General.Messages_.NullInputMessages_.GeneralNullMessage("نام")) .ValidateNull(input.PackingTypeId, General.Messages_.NullInputMessages_.GeneralNullMessage("کد بسته بندی")) .ValidateNull(input.PackingTypeId, General.Messages_.NullInputMessages_.GeneralNullMessage("آیدی")) .Throw(General.Results_.FieldNullErrorCode()); var packingList = _repository.ProductPackingTypeList.FindByCondition(c => c.Id == input.Id) .FirstOrDefault(); if (packingList == null) { throw new BusinessException(XError.GetDataErrors.NotFound()); } packingList.Title = input.Title; packingList.Mdate = DateTime.Now.Ticks; packingList.MuserId = ClaimPrincipalFactory.GetUserId(User); var toBeDeleted = _repository.ProductPackingType .FindByCondition(c => c.ProductPackingTypeListId == input.Id).ToList(); toBeDeleted.ForEach(c => { c.Ddate = DateTime.Now.Ticks; c.DuserId = ClaimPrincipalFactory.GetUserId(User); }); _repository.ProductPackingType.UpdateRange(toBeDeleted); var InDbPackingType = _repository.PackingType.FindByCondition(c => c.Id == toBeDeleted.Select(c => c.PackinggTypeId).FirstOrDefault()).FirstOrDefault(); if (InDbPackingType.Id == input.PackingTypeId) { input.ProductIdList.ForEach(c => { var pp = new ProductPackingType { Cdate = DateTime.Now.Ticks, CuserId = ClaimPrincipalFactory.GetUserId(User), PackinggTypeId = input.PackingTypeId, ProductId = c, Price = InDbPackingType.Price }; packingList.ProductPackingType.Add(pp); }); } else { var packingType = _repository.PackingType.FindByCondition(c => c.Id == input.PackingTypeId && c.DaDate == null && c.Ddate == null).FirstOrDefault(); if (packingType == null || packingType.Count < 1) { throw new BusinessException(XError.BusinessErrors.InvalidPackingType()); } input.ProductIdList.ForEach(c => { var pp = new ProductPackingType { Cdate = DateTime.Now.Ticks, CuserId = ClaimPrincipalFactory.GetUserId(User), PackinggTypeId = input.PackingTypeId, ProductId = c, Price = packingType.Price }; packingList.ProductPackingType.Add(pp); }); packingType.Count -= 1; _repository.PackingType.Update(packingType); } _repository.ProductPackingTypeList.Update(packingList); _repository.Save(); _logger.LogData(MethodBase.GetCurrentMethod(), General.Results_.SuccessMessage(), null, input); return(Ok(General.Results_.SuccessMessage())); } catch (Exception e) { _logger.LogError(e, MethodBase.GetCurrentMethod(), input); return(BadRequest(e.Message)); } }