Exemplo n.º 1
0
        public async Task <IActionResult> AddCourier([FromRoute] string login, [FromBody] CourierRequest courierRequest)
        {
            var oldCourier = await db.Couriers.FirstOrDefaultAsync(c => c.UserLogin == login);

            if (oldCourier != null)
            {
                if (oldCourier.WorkStatusId == db.WorkCourierStatuses
                    .FirstOrDefault(s => s.Name == "Одобрено")?.Id)
                {
                    return(BadRequest());
                }

                oldCourier.WorkStatus = db.WorkCourierStatuses
                                        .FirstOrDefault(s => s.Name == "Рассматривается");
            }
            else
            {
                var courier = new Courier
                {
                    UserLogin      = login,
                    DateWorkBegin  = courierRequest.date_begin,
                    Citizenship    = courierRequest.citizenship,
                    PassportNumber = courierRequest.number,
                    Birth          = courierRequest.birth,
                    WorkStatus     = db.WorkCourierStatuses.FirstOrDefault(s => s.Name == "Рассматривается")
                };

                await db.Couriers.AddAsync(courier);
            }

            await db.SaveChangesAsync();

            return(Ok());
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Pickup([FromBody] CourierRequest request)
        {
            if (request == null || !ModelState.IsValid)
            {
                return(BadRequest("Courier Pickup request could not be parsed"));
            }

            await service.Process(request);

            return(Ok());
        }