public async Task <ModelApiResponse> Delete([FromQuery] int?id, string token) { ModelApiResponse modelApiResponse = new ModelApiResponse(); try { using (var context = new ApplicationDbContext()) { var product = await(from a in context.BondoraCart where a.Token == token && a.InventoryId == id select a).FirstOrDefaultAsync(); if (product != null) { context.BondoraCart.Remove(product); await context.SaveChangesAsync(); modelApiResponse.Success = true; } else { modelApiResponse.Success = false; modelApiResponse.Message = localizer["NotFound"].Value; } } } catch (Exception ex) { modelApiResponse.Success = false; modelApiResponse.Message = ex.Message + "<br />" + ex.InnerException + "<br />" + ex.StackTrace; } return(modelApiResponse); }
public async Task <ModelApiResponse> Post([FromBody] ModelOrder param) { ModelApiResponse modelApiResponse = new ModelApiResponse(); try { if (param != null) { using (var context = new ApplicationDbContext()) { var newItem = new BondoraOrder(); newItem.CustomerId = param.CustomerId; newItem.DateOrder = DateTime.Now; newItem.Token = param.Token; context.Entry(newItem).State = EntityState.Added; await context.SaveChangesAsync(); modelApiResponse.Success = true; modelApiResponse.Message = ""; modelApiResponse.CountOrdered = 0; } } else { modelApiResponse.Success = false; modelApiResponse.Message = localizer["NoItemsToSubmit"].Value; modelApiResponse.CountOrdered = 0; } } catch (Exception ex) { modelApiResponse.Success = false; modelApiResponse.Message = ex.Message + "<br />" + ex.InnerException + "<br />" + ex.StackTrace; modelApiResponse.CountOrdered = 0; } return(modelApiResponse); }
public async Task <ModelApiResponse> Post([FromBody] ModelAddToCart param) { ModelApiResponse modelApiResponse = new ModelApiResponse(); try { using (var context = new ApplicationDbContext()) { if (param != null) { if (param.InventoryId != 0) { //if product has been already found in cart var dataUnique = await(from a in context.BondoraCart where a.InventoryId == param.InventoryId && a.Token == param.Token select a).FirstOrDefaultAsync(); if (dataUnique == null) { //insert new one var newItem = new BondoraCart(); newItem.Days = param.Numdays; newItem.InventoryId = param.InventoryId; newItem.Token = param.Token; context.Entry(newItem).State = EntityState.Added; await context.SaveChangesAsync(); } else { dataUnique.Days += param.Numdays; context.Entry(dataUnique).State = EntityState.Modified; await context.SaveChangesAsync(); } var countOrdered = await(from a in context.BondoraCart where a.Token == param.Token select a).CountAsync(); modelApiResponse.Success = true; modelApiResponse.Message = (localizer != null) ? localizer["AddedToCard"].Value : ""; modelApiResponse.CountOrdered = countOrdered; } else { modelApiResponse.Success = false; modelApiResponse.Message = localizer["AddedToCard"].Value; } } else { modelApiResponse.Success = false; modelApiResponse.Message = localizer["NoItemsToSubmit"].Value; } } } catch (Exception ex) { modelApiResponse.Success = false; modelApiResponse.Message = ex.Message + "<br />" + ex.InnerException + "<br />" + ex.StackTrace; } return(modelApiResponse); }