public async Task <string> CancelJson(RequestCancel model) { var request_db = await db.Requests.Include(r => r.product_requests).SingleOrDefaultAsync(r => r.id_request == model.id_request); var request = await db.Requests.FindAsync(model.id_request); if (request.status == 3 || request.status == 4 || request.status == 5) { return("Отмена невозможна"); } if (request.status == 2) { foreach (var item in request_db.product_requests) { var product = await db.Product_storage.Where(i => i.id_product == item.id_product).SingleOrDefaultAsync(); product.count += item.count; db.Entry(product).State = EntityState.Modified; await db.SaveChangesAsync(); } } request.status = 5; db.Entry(request).State = EntityState.Modified; await db.SaveChangesAsync(); return("Заказ отменён"); }
public string GetRequest(RequestCancel model) { if (db.Requests.Where(r => r.id_request == model.id_request).FirstOrDefault() != null && model != null) { var requests = db.Requests.Where(r => r.id_request == model.id_request).FirstOrDefault(); var json = JsonConvert.SerializeObject(requests, Formatting.Indented); return(json); } else { return("Заказа не существует"); } }
public Boolean SetPOrder(POrder order, RequestCancel rc) { if (!IsDone()) { logger.Error("Reuse error"); Util.KillWithNotice("Reuse error"); return false; } if (rc == RequestCancel.Cancel) { _context = new OrderServerPOrder_Cancel(this, order, _accountName, _password, _hts); } else { _context = new OrderServerPOrder_Request(this, order, _accountName, _password, _hts); } _order = order; _requestCancel = rc; return true; }
public static void AppsCancel(this Request @this, RequestCancel method) { @this.RequestState = new RequestStates(@this.Strategy.Session).Cancelled; }
public void Cancel() { RequestCancel.Invoke(); }
public String CreateJson(RequestCustom model) { var requestAnswer = new RequestCancel(); if (db.Customers.Where(u => u.id_customer == model.id_customer).FirstOrDefault() != null) { if (db.Types.SingleOrDefault(i => i.id_type_delivery == model.id_type_delivery) == null) { requestAnswer.id_request = 0; string json = JsonConvert.SerializeObject(requestAnswer, Formatting.Indented); return(json); } Request request = new Request(); List <Request> requests_list = db.Requests.ToList(); if (requests_list.Where(r => r.id_request == 1).FirstOrDefault() == null) { request.id_request = 1; } else { request.id_request = requests_list.LastOrDefault().id_request + 1; } //Неподтверждённый заказ без товаров. request.date_request = DateTime.Now; request.date_confirm = DateTime.Now; request.date_delivery = DateTime.Now; request.id_customer = model.id_customer; request.status = 1; request.cost_request = 0; request.id_type_delivery = model.id_type_delivery; request.type = null; if (db.Requests.Where(u => u.id_request == request.id_request).FirstOrDefault() == null) { db.Requests.Add(request); db.SaveChanges(); } else { requestAnswer.id_request = 0; string json = JsonConvert.SerializeObject(requestAnswer, Formatting.Indented); return(json); } Request request_db = db.Requests.Where(u => u.id_request == request.id_request).FirstOrDefault(); if (request_db != null) { requestAnswer.id_request = request.id_request; string json = JsonConvert.SerializeObject(requestAnswer, Formatting.Indented); return(json); } else { requestAnswer.id_request = 0; string json = JsonConvert.SerializeObject(requestAnswer, Formatting.Indented); return(json); } } requestAnswer.id_request = 0; return(JsonConvert.SerializeObject(requestAnswer, Formatting.Indented)); }