public void CreateOrder(Orders orders) { Orders order = new Orders(); if (_seanceService.CountSeats(orders.IdSeance) != 0) { if (_seatsBusyService.IsSeatBusy(orders.IdSeance, orders.IdSeat) == false) { order.IdUser = orders.IdUser; /* * if(role..... * * order.Ispaid = true; */ order.IdSeance = orders.IdSeance; order.IdSeat = orders.IdSeat; order.Ispaid = orders.Ispaid; //добавить места //на одно место меньше unitOfWork.Orders.Create(order); _seanceService.SeatDecrement(orders.IdSeance); _seatsBusyService.UpdateSeatBusy(orders.IdSeance, orders.IdSeat, true); } } else { throw new Exception("It's Busy"); } //else }
public void CreateOrder(Orders orders) { Orders order = new Orders(); if (_seanceService.CountSeats(orders.SeanceId) != 0) { if (_seatsBusyService.IsSeatBusy(orders.SeanceId, orders.SeatNumber) == false) { order.UserName = orders.UserName; order.SeanceId = orders.SeanceId; order.SeatNumber = orders.SeatNumber; order.IsPaid = orders.IsPaid; unitOfWork.Orders.Create(order); var id = unitOfWork.Orders.GetAll().Where(us => us.UserName.Equals(orders.UserName)).Where(si => si.SeanceId.Equals(orders.SeanceId)).Where(sei => sei.SeatNumber.Equals(orders.SeatNumber)).FirstOrDefault(); if (id != null) { var count = _seanceService.GetSeanceId(order.SeanceId).CountSeats; var newcount = _seanceService.SeatDecrement(orders.SeanceId); if (newcount < count) { _seatsBusyService.UpdateSeatBusy(orders.SeanceId, orders.SeatNumber, true); } } } } else { Console.WriteLine("Is Busy"); } }