public HttpResponseMessage ConfirmProductDetails(ProductIdArgs args, bool confirm, HttpRequestMessage request) { DynamoDBTracer.Tracer.Write(string.Format("ConfirmProductDetails called. Args: {0}", args), "Verbose"); this.CheckAndUpdateDoSLimits(request, args.EmailId); HttpResponseMessage response; try { var catalogProvider = PriceUpdateContext.Instance.CatalogFactory.GetProductCatalogProvider(); ProductCatalogEntity catalogEntity = catalogProvider.GetProduct(args); if (string.IsNullOrEmpty(catalogEntity.EmailId) || string.IsNullOrEmpty(catalogEntity.ASIN)) { response = new HttpResponseMessage(HttpStatusCode.NotFound); return(response); } catalogEntity.IsConfirmed = confirm; catalogProvider.UpdateProduct(catalogEntity); response = new HttpResponseMessage(HttpStatusCode.OK); } catch { response = new HttpResponseMessage(HttpStatusCode.InternalServerError); } DynamoDBTracer.Tracer.Write(string.Format("ConfirmProductDetails succeeded. Args: {0}", args), "Verbose"); return(response); }
// Put will confirm, Confirmation through email // This is not yet used. Default everything is confirmed public HttpResponseMessage Put([FromBody] ProductIdArgs args, bool confirmed) { HttpResponseMessage httpResponse; if (args == null) { httpResponse = Request.CreateResponse(HttpStatusCode.BadRequest, "Input arguments are null. Please check your request"); } else { HttpRequest httpRequest = HttpContext.Current.Request; httpResponse = this.apiManager.ConfirmProductDetails(args, confirmed, Request); //Fix this later. This is inconsistent httpResponse = Request.CreateResponse(httpResponse.StatusCode, "Confirmed!"); } return(httpResponse); }
public void SendConfirmationMail(ProductIdArgs args) { }
//DELETE Delete's the product rule and marks the product as deleted //Yet to be implemented //TODO: Figure out logical or hard deletion public HttpResponseMessage Delete([FromBody] ProductIdArgs args) { return(null); }