public void ShouldCreateWareBooking()
        {
            var now    = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.AddDays(1).Day, 10, 0, 0, 0);
            var input  = new CreateWareBookingInput(0, 0, now, now.Date.AddHours(1));
            var domain = new WareBooking(0, 0, now, now.AddHours(1));

            var mockWareBookingRepo = new Mock <IWareBookingRepository>();

            mockWareBookingRepo.Setup(m => m.GetStartingAt(now.Date)).Returns(new List <WareBooking>());
            mockWareBookingRepo.Setup(m => m.Create(domain)).Returns(0);

            var ware         = new Ware("test", "test", "e1234fjdgq84324", 0, false);
            var mockWareRepo = new Mock <IWareRepository>();

            mockWareRepo.Setup(m => m.GetById(0)).Returns(ware);

            var mockTimeSlotRepo = new Mock <ITimeSlotRepository>();

            mockTimeSlotRepo.Setup(m => m.GetAllOfPlace(0)).Returns(new List <TimeSlot> {
                new TimeSlot(now.DayOfWeek, 8, 0, 20, 0, 0)
            });

            var res = new CreateWareBooking(mockWareBookingRepo.Object, mockTimeSlotRepo.Object, mockWareRepo.Object,
                                            input).Execute();

            Assert.AreEqual(0, res);
        }
        public long Create(WareBooking wareBooking)
        {
            var id = WareBookings.Count;

            wareBooking.Id = id;
            WareBookings.Add(wareBooking);
            return(id);
        }
Esempio n. 3
0
        public IActionResult Update([FromBody] WareBooking wareBooking)
        {
            var result = new UpdateWareBooking(bookingRepository, timeSlotRepository, wareRepository, wareBooking).Execute();

            if (result == -1)
            {
                return(Conflict());
            }
            return(Ok(result));
        }
        public long Create(WareBooking wareBooking)
        {
            const string sql =
                "INSERT INTO public.\"WareBooking\"(\"Id\", \"WareId\", \"UserId\", \"Start\", \"End\") VALUES (DEFAULT, @wareId, @userId, @startDate, @endDate) returning \"Id\";";
            var par = new List <DbParameter> {
                new NpgsqlParameter("wareId", wareBooking.WareId),
                new NpgsqlParameter("userId", wareBooking.UserId),
                new NpgsqlParameter("startDate", wareBooking.Start),
                new NpgsqlParameter("endDate", wareBooking.End)
            };

            return(dataMapper.NoQueryCommand(sql, par));
        }
        public long Update(WareBooking wareBooking)
        {
            const string sql =
                "UPDATE public.\"WareBooking\" SET \"WareId\"= @wareId, \"UserId\"= @userId, \"Start\"= @startDate, \"End\"= @endDate WHERE \"Id\"= @id RETURNING \"Id\";";
            var par = new List <DbParameter> {
                new NpgsqlParameter("id", wareBooking.Id),
                new NpgsqlParameter("wareId", wareBooking.WareId),
                new NpgsqlParameter("userId", wareBooking.UserId),
                new NpgsqlParameter("startDate", wareBooking.Start),
                new NpgsqlParameter("endDate", wareBooking.End)
            };

            return(dataMapper.NoQueryCommand(sql, par));
        }
        public long Update(WareBooking item)
        {
            long id = -1;

            WareBookings = WareBookings.Select(i => {
                if (i.Id == item.Id)
                {
                    id = item.Id;
                    return(item);
                }
                id = -1;
                return(i);
            }).ToList();
            return(id);
        }