public void CalculateWithNoOffers() { var printer = Substitute.For <IPrinter>(); var basket = Substitute.For <IBasket>(); var specialOffers = new SpecialOffers(); basket.goods.Returns(x => new List <GoodAndQuantity>() { new GoodAndQuantity { Quantity = 2, Good = new Apples() }, new GoodAndQuantity { Quantity = 1, Good = new Beans() } }); var priceCalculator = new PriceCalculator(printer, specialOffers); priceCalculator.Calculate(basket); printer.Received().PrintLine(Arg.Is <string>(x => x.StartsWith("Subtotal:"))); printer.Received().PrintLine(Arg.Is <string>(x => x.StartsWith("(No offers available)"))); printer.Received().PrintLine(Arg.Is <string>(x => x.StartsWith("Total price: "))); }
public SpecialOffers CheckOffers(SpecialOffers _SpecialOffers) { var Today = Convert.ToDateTime(DateTime.Now.ToShortDateString()); var AccInfo = _IUoW.Repository <AccMaster>().GetBy(x => x.WalletAccountNo == _SpecialOffers.WalletAccountNo); var SpecialOffer = _IUoW.Repository <SpecialOffers>().GetBy(x => x.DefineServiceId == _SpecialOffers.DefineServiceId && x.AccTypeId == AccInfo.AccTypeId); if (SpecialOffer != null) { var StartDate = SpecialOffer.StartDate.Value.Date; var EndDate = SpecialOffer.EndDate.Value.Date; if (Today >= StartDate && Today <= EndDate) { return(SpecialOffer); } else { return(null); } } else { return(null); } }
public HttpResponseMessage GetSpecialOffersBy(HttpRequestMessage reqObject) { int result = 0; _requestedDataObject = _IDataManipulation.GetRequestedDataObject(reqObject); if (_requestedDataObject != null && _requestedDataObject.BusinessData != null) { _SpecialOffer = new SpecialOffers(); _SpecialOffer = JsonConvert.DeserializeObject <SpecialOffers>(_requestedDataObject.BusinessData); bool IsValid = ModelValidation.TryValidateModel(_SpecialOffer, out _modelErrorMsg); if (IsValid) { result = _ISpecialOfferService.GetSpecialOffersBy(_SpecialOffer); } } if (!string.IsNullOrWhiteSpace(_modelErrorMsg)) { _serviceResponse = _IDataManipulation.SetResponseObject(result, _modelErrorMsg); } else if (result == 1) { _serviceResponse = _IDataManipulation.SetResponseObject(result, "Service and Customer Type Already exist"); } else { _serviceResponse = _IDataManipulation.SetResponseObject(result, ""); } _response = _IDataManipulation.CreateResponse(_serviceResponse, reqObject); return(_response); }
public HttpResponseMessage AddSpecialOffer(HttpRequestMessage reqObject) { int result = 0; _requestedDataObject = _IDataManipulation.GetRequestedDataObject(reqObject); if (_requestedDataObject != null && _requestedDataObject.BusinessData != null) { _SpecialOffer = new SpecialOffers(); _SpecialOffer = JsonConvert.DeserializeObject <SpecialOffers>(_requestedDataObject.BusinessData); bool IsValid = ModelValidation.TryValidateModel(_SpecialOffer, out _modelErrorMsg); if (IsValid) { result = _ISpecialOfferService.AddSpecialOffers(_SpecialOffer); } } if (!string.IsNullOrWhiteSpace(_modelErrorMsg)) { _serviceResponse = _IDataManipulation.SetResponseObject(result, _modelErrorMsg); } else if (result == 1) { _serviceResponse = _IDataManipulation.SetResponseObject(result, "information has been added successfully"); } else { _serviceResponse = _IDataManipulation.SetResponseObject(result, "information hasn't been added"); } _response = _IDataManipulation.CreateResponse(_serviceResponse, reqObject); return(_response); }
public HttpResponseMessage CheckOffer(HttpRequestMessage reqObject) { dynamic result = 0; _requestedDataObject = _IDataManipulation.GetRequestedDataObject(reqObject); if (_requestedDataObject != null && _requestedDataObject.BusinessData != null) { _SpecialOffer = new SpecialOffers(); _SpecialOffer = JsonConvert.DeserializeObject <SpecialOffers>(_requestedDataObject.BusinessData); result = _ISpecialOfferService.CheckOffers(_SpecialOffer); } if (!string.IsNullOrWhiteSpace(_modelErrorMsg)) { _serviceResponse = _IDataManipulation.SetResponseObject(result, _modelErrorMsg); } else if (result != null) { _serviceResponse = _IDataManipulation.SetResponseObject(result, "Successfull"); } else if (result == null) { result = 0; _serviceResponse = _IDataManipulation.SetResponseObject(result, "Fail"); } _response = _IDataManipulation.CreateResponse(_serviceResponse, reqObject); return(_response); }
public HttpResponseMessage DeleteSpecialOffers(HttpRequestMessage reqObject) { int result = 0; _requestedDataObject = _IDataManipulation.GetRequestedDataObject(reqObject); if (_requestedDataObject != null && _requestedDataObject.BusinessData != null) { _SpecialOffer = JsonConvert.DeserializeObject <SpecialOffers>(_requestedDataObject.BusinessData); } if (_SpecialOffer == null || string.IsNullOrWhiteSpace(_SpecialOffer.OfferId)) { _serviceResponse = _IDataManipulation.SetResponseObject(result, "Offer Not Found..."); _response = _IDataManipulation.CreateResponse(_serviceResponse, reqObject); return(_response); } result = _ISpecialOfferService.DeleteSpecialOffers(_SpecialOffer); if (result == 1) { _serviceResponse = _IDataManipulation.SetResponseObject(result, "information has been deleted successfully"); } else { _serviceResponse = _IDataManipulation.SetResponseObject(result, "Offer Not Found..."); } _response = _IDataManipulation.CreateResponse(_serviceResponse, reqObject); return(_response); }
public void CreateSpecialOfferWithPriceNull() { var spec = new SpecialOffers() { SpecialOfferName = "banan" }; Exception ex = Assert.ThrowsException <ArgumentException>(() => SpecielOffersService.AddSpecialOffer(spec)); Assert.AreEqual("Price need to be higher than 0", ex.Message); }
public void CreateSpecialOfferWithNoName() { var spec = new SpecialOffers() { Price = 100 }; Exception ex = Assert.ThrowsException <ArgumentException>(() => SpecielOffersService.AddSpecialOffer(spec)); Assert.AreEqual("Speciel offer need a name", ex.Message); }
public SpecialOffers AddSpecialOffer(SpecialOffers specialOffers) { if (specialOffers.Price < 1) { throw new ArgumentException("Price need to be higher than 0"); } if (specialOffers.SpecialOfferName == null) { throw new ArgumentException("Speciel offer need a name"); } return(_sOffersRepo.CreateSpecialOffers(specialOffers)); }
public ActionResult <SpecialOffers> Post([FromBody] SpecialOffers spcl) { try { return(Ok(_spclService.AddSpecialOffer(spcl))); } catch (Exception e) { return(BadRequest(e.Message)); } }
public void UpdateByIdSpecialOfferWithNoId() { var spec = new SpecialOffers() { SpecialOfferName = "Banan", Price = 100 }; Exception ex = Assert.ThrowsException <ArgumentException>(() => SpecielOffersService.UpdateSpecialOffer(spec)); Assert.AreEqual("Id need to be higher than 0", ex.Message); }
public ActionResult <SpecialOffers> Put(int id, [FromBody] SpecialOffers spcl) { try { var entity = _spclService.UpdateSpecialOffer(spcl); entity.SpecialOfferName = spcl.SpecialOfferName; return(Ok(entity)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public int GetSpecialOffersBy(SpecialOffers _SpecialOffers) { var SpecialOffer = _IUoW.Repository <SpecialOffers>().GetBy(x => x.DefineServiceId == _SpecialOffers.DefineServiceId && x.AccTypeId == _SpecialOffers.AccTypeId); if (SpecialOffer == null) { return(0); } else { return(1); } }
public void UpdateSpecielOfferPrice0() { var spec = new SpecialOffers() { Id = 1, Price = 0, SpecialOfferName = "banan" }; Exception ex = Assert.ThrowsException <ArgumentException>(() => SpecielOffersService.UpdateSpecialOffer(spec)); Assert.AreEqual("Price need to be higher than 0", ex.Message); }
private void LoadSpecialOffers() { SpecialOffers.Add(new SpecialOffer { SKU = "A99", Price = 1.30m, Quantity = 3 }); SpecialOffers.Add(new SpecialOffer { SKU = "B15", Price = 0.45m, Quantity = 2 }); }
public void CalculateWithBreadAndBeansOffers() { var printer = Substitute.For <IPrinter>(); var basketBuilder = new BasketBuilder(); basketBuilder.Parse(new string[] { "Beans", "Beans", "Bread" }, out var basket); var specialOffers = new SpecialOffers(); var priceCalculator = new PriceCalculator(printer, specialOffers); priceCalculator.Calculate(basket); printer.Received().PrintLine(Arg.Is <string>(x => x.StartsWith("Subtotal"))); printer.Received().PrintLine(Arg.Is <string>(x => x.StartsWith("Buy 2 cans of "))); printer.Received().PrintLine(Arg.Is <string>(x => x.StartsWith("Total price:"))); }
public void CalculateWithLotsOfApplesOffers() { var printer = Substitute.For <IPrinter>(); var basketBuilder = new BasketBuilder(); basketBuilder.Parse(new string[] { "Apples", "Apples", "Apples", "Apples" }, out var basket); var specialOffers = new SpecialOffers(); var priceCalculator = new PriceCalculator(printer, specialOffers); priceCalculator.Calculate(basket); printer.Received().PrintLine(Arg.Is <string>(x => x.StartsWith("Subtotal: "))); printer.Received().PrintLine(Arg.Is <string>(x => x.StartsWith("Apples 10% off:: 40p"))); printer.Received().PrintLine(Arg.Is <string>(x => x.StartsWith("Total price: "))); }
public int DeleteSpecialOffers(SpecialOffers _SpecialOffers) { try { int result = 0; bool IsRecordExist; if (!string.IsNullOrWhiteSpace(_SpecialOffers.OfferId)) { IsRecordExist = _IUoW.Repository <SpecialOffers>().IsRecordExist(x => x.OfferId == _SpecialOffers.OfferId); if (IsRecordExist) { var _oldSpecialOffers = _IUoW.Repository <SpecialOffers>().GetBy(x => x.OfferId == _SpecialOffers.OfferId); var _oldSpecialOffersForLog = ObjectCopier.DeepCopy(_oldSpecialOffers); _oldSpecialOffers.AuthStatusId = _SpecialOffers.AuthStatusId = "U"; _oldSpecialOffers.LastAction = _SpecialOffers.LastAction = "DEL"; _oldSpecialOffers.LastUpdateDT = _SpecialOffers.LastUpdateDT = System.DateTime.Now; result = _IUoW.Repository <SpecialOffers>().Update(_oldSpecialOffers); #region Auth Log if (result == 1) { _IAuthLogService = new AuthLogService(); long _outMaxSlAuthLogDtl = 0; _IAuthLogService.AddAuthLog(_IUoW, _oldSpecialOffersForLog, _SpecialOffers, "DEL", "0001", _SpecialOffers.FunctionId, 1, "SpecialOffers", "MTK_SP_SPECIAL_OFFERS", "OfferId", _SpecialOffers.OfferId, _SpecialOffers.UserName, _outMaxSlAuthLogDtl, out _outMaxSlAuthLogDtl); } #endregion if (result == 1) { _IUoW.Commit(); } return(result); } return(result); } return(result); } catch (Exception ex) { _ObjErrorLogService = new ErrorLogService(); _ObjErrorLogService.AddErrorLog(ex, string.Empty, "DeleteSpecialOffers(obj)", string.Empty); return(0); } }
public int AddSpecialOffers(SpecialOffers _SpecialOffers) { try { var startDate = _SpecialOffers.StartDate.Value.Date; var endDate = _SpecialOffers.EndDate.Value.Date; var _max = _IUoW.Repository <SpecialOffers>().GetMaxValue(x => x.OfferId) + 1; _SpecialOffers.OfferId = _max.ToString().PadLeft(3, '0'); _SpecialOffers.StartDate = startDate; _SpecialOffers.EndDate = endDate; _SpecialOffers.AuthStatusId = "U"; _SpecialOffers.LastAction = "ADD"; _SpecialOffers.MakeDT = System.DateTime.Now; _SpecialOffers.MakeBy = "mtaka"; var result = _IUoW.Repository <SpecialOffers>().Add(_SpecialOffers); #region Auth Log if (result == 1) { _IAuthLogService = new AuthLogService(); long _outMaxSlAuthLogDtl = 0; result = _IAuthLogService.AddAuthLog(_IUoW, null, _SpecialOffers, "ADD", "0001", _SpecialOffers.FunctionId, 1, "SpecialOffers", "MTK_SP_SPECIAL_OFFERS", "OfferId", _SpecialOffers.OfferId, _SpecialOffers.UserName, _outMaxSlAuthLogDtl, out _outMaxSlAuthLogDtl); } #endregion if (result == 1) { _IUoW.Commit(); } return(result); } catch (Exception ex) { _ObjErrorLogService = new ErrorLogService(); _ObjErrorLogService.AddErrorLog(ex, string.Empty, "AddSpecialOffers(obj)", string.Empty); return(0); } }
private void DeleteSpecialOfferFn(object index) => SpecialOffers.RemoveAt((int)index);
public SpecialOffers CreateSpecialOffers(SpecialOffers specialOffers) { _ctx.Attach(specialOffers).State = EntityState.Added; _ctx.SaveChanges(); return(specialOffers); }
public SpecialOffers UpdateSpecialOffers(SpecialOffers specialOffers) { _ctx.Attach(specialOffers).State = EntityState.Modified; _ctx.SaveChanges(); return(specialOffers); }