Exemple #1
0
        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("Заказ отменён");
        }
Exemple #2
0
        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;
        }
Exemple #4
0
 public static void AppsCancel(this Request @this, RequestCancel method)
 {
     @this.RequestState = new RequestStates(@this.Strategy.Session).Cancelled;
 }
Exemple #5
0
 public void Cancel()
 {
     RequestCancel.Invoke();
 }
Exemple #6
0
        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));
        }