Esempio n. 1
0
        /// <summary>
        /// Add new laundry order
        /// </summary>
        /// <param name="order"></param>
        /// <returns></returns>
        public async Task <int> AddLaundryOrderAsync(LaundryOrder order)
        {
            if (order.NoOfCloths == 0 || order.PickUpDate == null || order.PickUpTimeSlot == null || order.PickUpAddress == null ||
                order.OrderStatus == null)
            {
                return((int)StatusCode.ExpectationFailed);
            }

            order.CreatedAt = DateTime.UtcNow;
            await _laundryRepository.AddAsync(order);

            await _laundryRepository.Uow.SaveChangesAsync();

            var agentAssignmentCountList = (await _ironingRepository.GetAgentOrdersAssignmentCountAsync()).ToList();
            var addedOrder = await GetLaundryOrderAsync(order.Id);

            if (agentAssignmentCountList.Count() > 0 && addedOrder != null)
            {
                var orderMapping = new OrderAgentMapping();
                orderMapping.OrderMappingId = Guid.NewGuid();
                orderMapping.AgentId        = agentAssignmentCountList[0].AgentId;
                orderMapping.OrderId        = addedOrder.OrderId;
                await _orderAgentMappingRepository.AddAsync(orderMapping);

                await _orderAgentMappingRepository.Uow.SaveChangesAsync();
            }
            return(order.Id);
        }
        public async Task <IActionResult> LaundriesOrderCreate(LaundriesOrderViewModel laundriesorder)
        {
            var laundrie  = _context.Laundrys.Single(x => x.Id == laundriesorder.laundriesid);
            var laundries = new LaundryOrder {
                Laundry = laundrie, Remarks = laundriesorder.Remarks, State = laundriesorder.LaundriesState
            };

            _context.LaundryOrders.Add(laundries);
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
 public async Task <IActionResult> AddLaundryOrderAsync(
     [FromBody, SwaggerParameter("Model containing the details of the new order to create", Required = true)] LaundryOrder order)
 {
     return(Ok(await _iLaundryBusiness.AddLaundryOrderAsync(order)));
 }