//[Route("update")] //[HttpPut] public HttpResponseMessage UpdateVoucher(VoucherAPIViewModel model) { var updateVoucher = model.ToEntity(); var pDomain = new PromotionDomain(); var oldVoucher = pDomain.GetVoucher(model.VoucherID); if (oldVoucher == null) { var res = new BaseResponse <string>() { Message = "Not found", Success = false, ResultCode = (int)DataService.Models.ResultEnum.VoucherNotFound }; return(new HttpResponseMessage() { Content = new JsonContent(res), StatusCode = HttpStatusCode.NotFound }); } ; try { updateVoucher = pDomain.Update(updateVoucher); var res = new BaseResponse <string>() { Data = "Success", Message = "Success", Success = true, ResultCode = (int)DataService.Models.ResultEnum.Success }; return(new HttpResponseMessage() { Content = new JsonContent(res), StatusCode = HttpStatusCode.OK }); } catch (Exception e) { var res = new BaseResponse <string>() { Error = e.Message, Message = e.Message, ResultCode = (int)DataService.Models.ResultEnum.InternalError, Success = false }; return(new HttpResponseMessage() { Content = new JsonContent(res), StatusCode = HttpStatusCode.InternalServerError }); } }
//[Route("change-state/{promotionId}/{active}")] //[HttpPut] public HttpResponseMessage ChangePromotionActiveState(int promotionId, bool active) { BaseResponse <string> res; var pDomain = new PromotionDomain(); var promotion = pDomain.GetPromotion(promotionId); if (promotion != null) { try { pDomain.ChangePromotionActiveState(promotion, active); res = new BaseResponse <string>() { Data = "Success", Message = "Success", ResultCode = (int)ResultEnum.Success, Success = true }; return(new HttpResponseMessage() { Content = new JsonContent(res), StatusCode = HttpStatusCode.OK }); } catch (Exception e) { res = new BaseResponse <string>() { Error = e.Message, Message = e.Message, ResultCode = (int)ResultEnum.InternalError, Success = false }; return(new HttpResponseMessage() { Content = new JsonContent(res), StatusCode = HttpStatusCode.InternalServerError }); } } res = new BaseResponse <string>() { Error = "Cannot found promotion", Message = "Cannot found promotion", ResultCode = (int)ResultEnum.VoucherNotFound, Success = false }; return(new HttpResponseMessage() { Content = new JsonContent(res), StatusCode = HttpStatusCode.NotFound }); }
//[Route("{PromotionID?}")] //[HttpGet] public HttpResponseMessage GetPromotion(PromotionQueryRequest <dynamic> request) { var response = new BaseResponse <dynamic>(); var claimPrincipal = (ClaimsPrincipal)RequestContext.Principal; var customerId = claimPrincipal.Claims.Where(c => c.Type == "CustomerId").Select(c => c.Value).SingleOrDefault(); var cDomain = new CustomerDomain(); var id = Int32.Parse(customerId); var customer = cDomain.GetCustomerById(id); var resp = new HttpResponseMessage() { StatusCode = HttpStatusCode.OK }; var pDomain = new PromotionDomain(); Membership member = customer.MembershipVM.ToEntity(); request.Membership = member; var promotion = pDomain.GetPromotion(request).ToList(); if (promotion.Count == 0) { var res = BaseResponse <dynamic> .Get(false, "Không tìm thấy khuyến mãi nào", null, ResultEnum.PromotionNotFound); resp.Content = new JsonContent(res); resp.StatusCode = HttpStatusCode.NotFound; return(resp); } try { response = BaseResponse <dynamic> .Get(false, "Thành công", null, ResultEnum.Success); if (promotion.Count == 1) { response.Data = promotion.FirstOrDefault(); } else { response.Data = promotion; } } catch (ApiException e) { resp.StatusCode = e.StatusCode; response = BaseResponse <dynamic> .Get(e.Success, e.ErrorMessage, null, e.ErrorStatus); } catch (Exception e) { response = BaseResponse <dynamic> .Get(false, e.Message, null, ResultEnum.InternalError); resp.StatusCode = HttpStatusCode.InternalServerError; } resp.Content = new JsonContent(response); return(resp); }
public HttpResponseMessage CheckVoucher(CheckVoucherViewModel request) { //Logger.Log("Store " + model.terminalId); //Logger.Log("|CheckVoucherCode| begin method"); var response = new BaseResponse <dynamic>(); var claimPrincipal = (ClaimsPrincipal)RequestContext.Principal; var customerId = claimPrincipal.Claims.Where(c => c.Type == "CustomerId").Select(c => c.Value).SingleOrDefault(); var cDomain = new CustomerDomain(); var id = Int32.Parse(customerId); var customer = cDomain.GetCustomerById(id); var oDomain = new OrderDomain(); var resp = new HttpResponseMessage() { StatusCode = HttpStatusCode.OK }; try { DateTime time = DataService.Models.Utils.GetCurrentDateTime(); var pDomain = new PromotionDomain(); var orderVM = new OrderAPIViewModel(); var voucher = pDomain.GetVoucher(request.VoucherCode); var mbs = customer.MembershipVM; orderVM.OrderDetails = request.Data; orderVM.StoreID = request.StoreId; AddInfo(orderVM, request); oDomain.CalculateOrderPrice(orderVM, time); //temp: each voucher has only 1 detail now var applyResult = pDomain.IsVoucherValidFor(voucher, orderVM, mbs); orderVM = pDomain.ApplyPromotionToOrder(orderVM, applyResult, mbs); response = BaseResponse <dynamic> .Get(true, "Thành công", orderVM, ResultEnum.Success); } catch (ApiException e) { resp.StatusCode = e.StatusCode; response = BaseResponse <dynamic> .Get(e.Success, e.ErrorMessage, null, e.ErrorStatus); } catch (Exception e) { resp.StatusCode = HttpStatusCode.InternalServerError; response = BaseResponse <dynamic> .Get(false, e.ToString(), null, ResultEnum.InternalError); } resp.Content = new JsonContent(response); return(resp); }
public HttpResponseMessage GetVoucher([FromUri] VoucherQueryRequest <dynamic> request) { var response = new BaseResponse <List <VoucherAPIViewModel> >(); var claimPrincipal = (ClaimsPrincipal)RequestContext.Principal; var customerId = claimPrincipal.Claims.Where(c => c.Type == "CustomerId").Select(c => c.Value).SingleOrDefault(); var cDomain = new CustomerDomain(); var id = Int32.Parse(customerId); var customer = cDomain.GetCustomerById(id); var resp = new HttpResponseMessage() { StatusCode = HttpStatusCode.OK }; var pDomain = new PromotionDomain(); Membership member = customer.MembershipVM.ToEntity(); request.MembershipVM = member; request.BrandId = customer.BrandId; //if (voucher.Count == 0) //{ // var res = BaseResponse<dynamic>.Get(false, "Không tìm thấy voucher nào", null, ResultEnum.VoucherNotFound); // resp.Content = new JsonContent(res); // resp.StatusCode = HttpStatusCode.NotFound; // return resp; //} try { var voucher = pDomain.GetVoucher(request).ToList(); response = BaseResponse <List <VoucherAPIViewModel> > .Get(false, "Thành công", voucher, ResultEnum.Success); } catch (ApiException e) { resp.StatusCode = e.StatusCode; response = BaseResponse <List <VoucherAPIViewModel> > .Get(e.Success, e.ErrorMessage, null, e.ErrorStatus); } catch (Exception e) { response = BaseResponse <List <VoucherAPIViewModel> > .Get(false, e.Message, null, ResultEnum.InternalError); resp.StatusCode = HttpStatusCode.InternalServerError; } resp.Content = new JsonContent(response); return(resp); }
//[Route("")] //[HttpPost] public HttpResponseMessage CreateVoucher(VoucherAPIViewModel model) { var newVoucher = model.ToEntity(); var pDomain = new PromotionDomain(); try { newVoucher = pDomain.Create(newVoucher); var res = new BaseResponse <string>() { Data = "Success", Message = "Success", Success = true, ResultCode = (int)DataService.Models.ResultEnum.Success }; return(new HttpResponseMessage() { Content = new JsonContent(res), StatusCode = HttpStatusCode.OK }); } catch (Exception e) { var res = new BaseResponse <string>() { Error = e.Message, Message = e.Message, ResultCode = (int)DataService.Models.ResultEnum.InternalError, Success = false }; return(new HttpResponseMessage() { Content = new JsonContent(res), StatusCode = HttpStatusCode.InternalServerError }); } }