예제 #1
0
 public void TestInitialize()
 {
     deletedReservation = new WatchedMovie()
     {
         UserId       = firstUserId,
         ProjectionId = firstProjectionId,
         IsDeleted    = true,
         Date         = new DateTime(currentYear, currentMonth, currentDay)
     };
     validReservation = new WatchedMovie()
     {
         UserId       = firstUserId,
         ProjectionId = firstProjectionId,
         IsDeleted    = false,
         Date         = new DateTime(currentYear, currentMonth, currentDay)
     };
     projection = new Projection()
     {
         Id         = firstProjectionId,
         CityId     = cityId,
         MovieId    = movieId,
         OpenHourId = openHourId,
         Seats      = projectionSeats,
         Day        = (int)currentDayOfWeek
     };
     openHour = new OpenHour()
     {
         Id = openHourId, Hours = currentHour, Minutes = currentMinute
     };
     movie = new Movie()
     {
         Id = movieId
     };
 }
예제 #2
0
        private string GetOpenHour(List <string> content)
        {
            string          result    = string.Empty;
            List <string>   header    = new List <string>();
            List <OpenHour> openHours = new List <OpenHour>();

            foreach (string line in content)
            {
                var data = line.Split(SPLIT);
                if (content.IndexOf(line) == 0)
                {
                    header = data.ToList();
                    continue;
                }

                OpenHour openHour = new OpenHour
                {
                    Day   = data[header.IndexOf(nameof(OpenHour.Day))],
                    From  = data[header.IndexOf(nameof(OpenHour.From))],
                    To    = data[header.IndexOf(nameof(OpenHour.To))],
                    Close = data[header.IndexOf(nameof(OpenHour.Close))].ToLower() == "true"
                };

                if (!openHours.Any(h => h.Day == openHour.Day))
                {
                    openHours.Add(openHour);
                }
            }
            result = JsonSerializeObject(openHours);

            return(result);
        }
예제 #3
0
        public async Task <ActionResult <OpenHour> > PostOpenHour(OpenHour openHour)
        {
            _context.OpenHour.Add(openHour);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetOpenHour", new { id = openHour.Id }, openHour));
        }
예제 #4
0
        public async Task <IActionResult> PutOpenHour(int id, OpenHour openHour)
        {
            if (id != openHour.Id)
            {
                return(BadRequest());
            }

            _context.Entry(openHour).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OpenHourExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #5
0
        public int GetID(string startHour)
        {
            openHour = IfExist(startHour);

            if (openHour == null || openHour.IsDeleted)
            {            //Ако няма такова или е изтрито
                throw new EntityDoesntExistException($"StartHour {startHour} is not present in the database.");
            }
            return(openHour.Id);
        }
예제 #6
0
 public void TestInitialize()
 {
     openHour = new OpenHour
     {
         Id          = testOpenHourId,
         StartHour   = testStartHour,
         Projections = new List <Projection>(),
         IsDeleted   = false
     };
     resultFromOpenHourRepo = new List <OpenHour>()
     {
         openHour
     };
     unitOfWork       = new Mock <IUnitOfWork>();
     openHourRepoMock = new Mock <IRepository <OpenHour> >();
 }
예제 #7
0
        public IActionResult ChangeHours([FromBody] OpenHour model)
        {
            var userId        = _http.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier) ?? "00000000-0000-0000-0000-000000000000";
            var authenticated = _http.HttpContext.User.Identity.IsAuthenticated;


            if (model == null)
            {
                return(BadRequest());
            }

            if (model.UserId != userId || !authenticated)
            {
                return(BadRequest());
            }

            var user = _db.Users.Find(userId);

            if (user == null)
            {
                return(BadRequest());
            }

            var oldHour = _db.UsersHours.FirstOrDefault(x => x.UserId == user.Id && x.DayId == model.DayId);

            if (oldHour != null)
            {
                _db.UsersHours.Remove(oldHour);
                _db.SaveChanges();
            }

            UsersHours newHour = new UsersHours
            {
                Id       = Guid.NewGuid().ToString(),
                DayId    = model.DayId,
                IsOpened = model.IsOpened,
                UserId   = model.UserId,
                From     = model.From,
                To       = model.To,
            };

            _db.UsersHours.Add(newHour);

            _db.SaveChanges();

            return(Ok());
        }