Beispiel #1
0
        public OrderDeliveryDTO GetByRfid(string rfid, DateTime date, int shift)
        {
            var order = _orderRepository.GetByRfid(rfid, date, shift);

            if (order != null)
            {
                if (!order.IsDelivered)
                {
                    var log = new DeliveryLog
                    {
                        Date        = DateTime.Now,
                        Status      = 0,
                        Description = "Побарана нарачка",
                        EmployeeId  = order.EmployeeId,
                        OrderId     = order.Id,
                        SoftMealId  = 0
                    };
                    _orderRepository.AddDeliveryLog(log);

                    return(new OrderDeliveryDTO
                    {
                        OrderId = order.Id,
                        SoftMealId = 0,
                        IsDelivered = order.IsDelivered,
                        ImageBase64 = order.Plan.Meal.MealImage.ImageBase64,
                        Name = order.Plan.Meal.Name,
                        NameForeign = order.Plan.Meal.NameForeign
                    });
                }
                else
                {
                    var log = new DeliveryLog
                    {
                        Date        = DateTime.Now,
                        Status      = 1,
                        Description = "Веќе е подигната нарачка во оваа смена",
                        EmployeeId  = order.EmployeeId,
                        OrderId     = order.Id,
                        SoftMealId  = 0
                    };
                    _orderRepository.AddDeliveryLog(log);

                    throw new Exception("Веќе е подигната нарачка во оваа смена");
                }
            }
            else
            {
                var softMeal = _orderRepository.GetSoftMeal(rfid, date, shift);
                if (softMeal != null)
                {
                    if (!softMeal.IsDelivered)
                    {
                        var log = new DeliveryLog
                        {
                            Date        = DateTime.Now,
                            Status      = 2,
                            Description = "Побаран сув оброк",
                            EmployeeId  = softMeal.EmployeeId,
                            OrderId     = 0,
                            SoftMealId  = softMeal.Id
                        };
                        _orderRepository.AddDeliveryLog(log);

                        return(new OrderDeliveryDTO
                        {
                            OrderId = 0,
                            SoftMealId = softMeal.Id,
                            IsDelivered = softMeal.IsDelivered,
                            ImageBase64 = softMeal.SoftMealDetail.ImageBase64,
                            Name = softMeal.SoftMealDetail.Name,
                            NameForeign = softMeal.SoftMealDetail.NameForeign
                        });
                    }
                    else
                    {
                        var log = new DeliveryLog
                        {
                            Date        = DateTime.Now,
                            Status      = 3,
                            Description = "Веќе е подигнат сув оброк во оваа смена",
                            EmployeeId  = softMeal.EmployeeId,
                            OrderId     = 0,
                            SoftMealId  = softMeal.Id
                        };
                        _orderRepository.AddDeliveryLog(log);

                        throw new Exception("Веќе е подигнат сув оброк во оваа смена");
                    }
                }
                else
                {
                    var employee   = _employeeRepository.GetByRfid(rfid);
                    var softMealDb = new SoftMeal
                    {
                        Date             = date,
                        EmployeeId       = employee.Id,
                        IsDelivered      = false,
                        Shift            = shift,
                        SoftMealDetailId = 1
                    };
                    _orderRepository.AddSoftMeal(softMealDb);

                    var log = new DeliveryLog
                    {
                        Date        = DateTime.Now,
                        Status      = 2,
                        Description = "Побаран сув оброк",
                        EmployeeId  = softMealDb.EmployeeId,
                        OrderId     = 0,
                        SoftMealId  = softMealDb.Id
                    };
                    _orderRepository.AddDeliveryLog(log);

                    var softMealDetail = _orderRepository.GetSoftMealDetail(1);
                    return(new OrderDeliveryDTO
                    {
                        OrderId = 0,
                        SoftMealId = softMealDb.Id,
                        IsDelivered = softMealDb.IsDelivered,
                        ImageBase64 = softMealDetail.ImageBase64,
                        Name = softMealDetail.Name,
                        NameForeign = softMealDetail.NameForeign
                    });
                }
            }
        }
 public void AddSoftMeal(SoftMeal softMeal)
 {
     _context.SoftMeals.Add(softMeal);
     _context.SaveChanges();
 }