Exemple #1
0
        /*Shows the availabe rent period buttons.*/
        protected void calRent_SelectionChanged(object sender, EventArgs e)
        {
            if (Request.QueryString["id"] != null)
            {
                try
                {
                    DvdInfo dvdInfo = new DvdInfoService().getByID(Request.QueryString["id"].ToString());            //Throws NoRecordException

                    //get all dvd copies that are available on that date:
                    int daysAvailable = new AvailabilityModel().getDaysAvailableFromDate(dvdInfo, calRent.SelectedDate);    //Throws NoRecordException

                    if (daysAvailable >= 1)
                    {
                        btnRent1.Visible = true;
                    }
                    if (daysAvailable >= 3)
                    {
                        btnRent3.Visible = true;
                    }
                    if (daysAvailable >= 7)
                    {
                        btnRent7.Visible = true;
                    }
                }
                catch (NoRecordException)
                {
                }
            }
        }
Exemple #2
0
        public AvailabilityModel GetAvailability(int id)
        {
            AvailabilityDTO dto = new AvailabilityDTO();

            dto = Context.GetAvailability(id);

            var modeltransfer = new AvailabilityModel()
            {
                Id             = dto.UserId,
                StartMonday    = dto.StartMonday,
                EndMonday      = dto.EndMonday,
                StartTuesday   = dto.StartTuesday,
                EndTuesday     = dto.EndTuesday,
                StartWednesday = dto.StartWednesday,
                EndWednesday   = dto.EndWednesday,
                StartThursday  = dto.StartThursday,
                EndThursday    = dto.EndThursday,
                StartFriday    = dto.StartFriday,
                EndFriday      = dto.EndFriday,
                StartSaturday  = dto.StartSaturday,
                EndSaturday    = dto.EndSaturday,
                StartSunday    = dto.StartSunday,
                EndSunday      = dto.EndSunday
            };

            return(modeltransfer);
        }
        private IEnumerable <AvailabilityModel> MergeOverlappingIntervals(IEnumerable <Entities.EventGap> availableArticles, IEnumerable <Guid> availableArticleIds, ArticlesAvailabilityRequest request)
        {
            var availabilities = new List <AvailabilityModel>();

            foreach (var id in availableArticleIds)
            {
                var gaps = availableArticles.Where(x => x.ArticleId == id).Select(x =>
                                                                                  new DateTimeInterval(
                                                                                      x.StartGap <= request.AvailabilityQueryParamaters.Start
                    ? CompareAvailabilityAndStartDate(x.AvailabilityDate, request.AvailabilityQueryParamaters.Start)
                    : CompareAvailabilityAndStartDate(x.AvailabilityDate, x.StartGap),
                                                                                      x.EndGap >= request.AvailabilityQueryParamaters.End ? request.AvailabilityQueryParamaters.End : x.EndGap)).OrderBy(x => x.From);
                var availability = new AvailabilityModel
                {
                    Id   = id,
                    Gaps = DateTimeUtils.MergeOverlappingIntervals(gaps)
                           .Select(x => new GapModel {
                        StartGap = x.From, EndGap = x.To
                    })
                };
                availabilities.Add(availability);
            }

            return(availabilities);
        }
        public async Task <IActionResult> GetAvailabilty([FromBody] AvailabilityModel objAvailabilityModel)
        {
            var lstavilabity = await this.availabilitycontext.GetAsync(objAvailabilityModel);

            var res = (from avilabity in lstavilabity
                       join resource in resourceContext.ModelSet
                       on avilabity.ResourceId equals resource.Id
                       select new {
                ResourceId = resource.Id,
                Name = resource.ResourceName,
                Date = avilabity.Date,
                StartTime = avilabity.StartTime,
                EndTime = avilabity.EndTime
            }).ToArray();

            HttpStatusCode code = HttpStatusCode.OK;

            if (res == null)
            {
                code = HttpStatusCode.NotFound;
            }
            var resMars = Task.Run(() => MarsResponse.GetResponse(res, code));

            return(await this.exceptionHandler.SendResponse(this, resMars));
        }
        public async Task <IActionResult> Update(UserStaffDTO userStaffDTO)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(userStaffDTO));
                }

                LocationModel     locationModel     = (LocationModel)Enum.Parse(typeof(LocationModel), userStaffDTO.Location);
                AvailabilityModel availabilityModel = (AvailabilityModel)Enum.Parse(typeof(AvailabilityModel), userStaffDTO.IsActive);

                var userStaff = new UserStaff()
                {
                    Id          = userStaffDTO.Id,
                    DisplayName = userStaffDTO.DisplayName,
                    Department  = userStaffDTO.Department,
                    Location    = locationModel.ToString(),
                    IsActive    = availabilityModel.ToString(),
                    DateCreated = userStaffDTO.DateCreated
                };

                var result = await _userStaffInterface.EditUserStaff(userStaff, Request.Cookies["AssetReference"].ToString());

                return(View(userStaffDTO));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Error encountered in UserStaffsController||Update ErrorMessage: {ex.Message}");
                return(RedirectToAction("Index", "Error"));
            }
        }
        private void GetTableList(ref AvailabilityModel model)
        {
            // get list of table from DB
            var data = iRstSrvClient.Get().TableGetList_01_03_092(Common.Restaurant.RestaurantID.ToString(), model.LocationID.ToString(), Common.Token).Tables;

            // calculate table width
            model.Tables = Utils.CalculateTableWidth(data);
        }
        public IHttpActionResult GetAvailability()
        {
            var availability = new AvailabilityModel()
            {
                IsAvailable = true, Message = "Data engine is available"
            };

            return(new HttpResult <AvailabilityModel>(availability, Request));
        }
Exemple #8
0
        public ActionResult SetAvailability(AvailabilityModel user)
        {
            TestDatabaseEntities context = new TestDatabaseEntities();

            context.InsertAvailablity(user.InstructorUserID, user.UserTypeID, user.DateTime);
            ViewBag.message = "You have set your availabilty successfully. You can now add more times if you wish. " +
                              "Please return to your profile page to view availability times.";

            return(RedirectToAction("Availability"));
        }
        public IActionResult UpdateAvailability(int id, TimeSpan startmonday, TimeSpan endmonday, TimeSpan starttuesday, TimeSpan endtuesday, TimeSpan startwednesday, TimeSpan endwednesday,
                                                TimeSpan startthursday, TimeSpan endthursday, TimeSpan startfriday, TimeSpan endfriday, TimeSpan startsaturday, TimeSpan endsaturday, TimeSpan startsunday,
                                                TimeSpan endsunday)
        {
            var availabilitymodel = new AvailabilityModel(id, startmonday, endmonday, starttuesday, endtuesday, startwednesday, endwednesday,
                                                          startthursday, endthursday, startfriday, endfriday, startsaturday, endsaturday, startsunday, endsunday);

            AvailabilityLogic.UpdateAvailability(availabilitymodel);
            return(RedirectToAction("EmployeeHome"));
        }
Exemple #10
0
        private bool HasAvailabilityChanges(AvailabilityModel from, AvailabilityModel to)
        {
            if (to == null)
            {
                return(true);
            }

            return(from.StartTime != to.StartTime ||
                   from.EndTime != to.EndTime ||
                   from.DayOfWeek != to.DayOfWeek ||
                   from.WeekNumber != to.WeekNumber);
        }
        public async Task <IActionResult> Update(AssetsDTO assetsDTO)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(assetsDTO));
                }

                StatusModel       statusModel       = (StatusModel)Enum.Parse(typeof(StatusModel), assetsDTO.Status);
                LocationModel     locationModel     = (LocationModel)Enum.Parse(typeof(LocationModel), assetsDTO.Location);
                TypeModel         typeModel         = (TypeModel)Enum.Parse(typeof(TypeModel), assetsDTO.Type);
                AvailabilityModel availabilityModel = (AvailabilityModel)Enum.Parse(typeof(AvailabilityModel), assetsDTO.IsAvailable);
                AvailabilityModel assigned          = (AvailabilityModel)Enum.Parse(typeof(AvailabilityModel), assetsDTO.IsAssinged);

                assetsDTO.Status      = statusModel.ToString();
                assetsDTO.Location    = locationModel.ToString();
                assetsDTO.Type        = typeModel.ToString();
                assetsDTO.IsAvailable = availabilityModel.ToString();
                assetsDTO.IsAssinged  = assetsDTO.ToString();

                var asset = new Asset()
                {
                    Id          = assetsDTO.Id,
                    Brand       = assetsDTO.Brand,
                    HostName    = assetsDTO.HostName,
                    AssetNo     = assetsDTO.AssetNo,
                    ExpressCode = assetsDTO.ExpressCode,
                    IsAvailable = availabilityModel.ToString(),
                    Location    = locationModel.ToString(),
                    Status      = statusModel.ToString(),
                    Model       = assetsDTO.Model,
                    Remarks     = assetsDTO.Remarks,
                    SerialNo    = assetsDTO.SerialNo,
                    Type        = typeModel.ToString(),
                    IsAssinged  = assigned.ToString()
                };

                var result = await _assetInterface.EditAsset(asset, Request.Cookies["AssetReference"].ToString());

                return(View(assetsDTO));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Error encountered in AssetsController||Update ErrorMessage: {ex.Message}");
                return(RedirectToAction("Index", "Error"));
            }
        }
Exemple #12
0
        public ActionResult Availability()
        {
            if (User.Identity.IsAuthenticated)
            {
                TestDatabaseEntities context = new TestDatabaseEntities();
                UserLogin            user    = context.UserLogins.Where(x => x.Username == User.Identity.Name).FirstOrDefault();

                AvailabilityModel model = new AvailabilityModel();
                model.InstructorUserID = user.UserID;
                model.UserTypeID       = user.UserTypeID;
                return(View(model));
            }
            else
            {
                return(RedirectToAction("Login"));
            }
        }
Exemple #13
0
        //tanto para admin quando para user
        public ActionResult Create(int ProfessorId, string slotDisponivel, string slotTalvez)
        {
            using (AvailabilityModel model = new AvailabilityModel())
            {
                model.Delete(ProfessorId);
            }

            string[] disponiveis = slotDisponivel.Split(',');
            if (disponiveis[0] != "")
            {
                for (int i = 0; i < disponiveis.Length; i++)
                {
                    Disponibilidade d = new Disponibilidade();
                    d.CodProfessor = ProfessorId;
                    d.CodSlot      = Convert.ToInt32(disponiveis[i]);
                    d.Status_slot  = true; //Status_slot True para slots verdes

                    using (AvailabilityModel model = new AvailabilityModel())
                    {
                        model.Create(d);
                    }
                }
            }

            string[] talvez = slotTalvez.Split(',');
            if (talvez[0] != "")
            {
                for (int i = 0; i < talvez.Length; i++)
                {
                    Disponibilidade d = new Disponibilidade();
                    d.CodProfessor = ProfessorId;
                    d.CodSlot      = Convert.ToInt32(talvez[i]);
                    d.Status_slot  = false; //Status_slot false para slots lranjas

                    using (AvailabilityModel model = new AvailabilityModel())
                    {
                        model.Create(d);
                    }
                }
            }

            return(Json("Salvo com sucesso"));
        }
        public ActionResult Create(
            [Bind(Include = "Doctor,Procedure,Date,Interval,FirstLastName,Email,Phone,Notices")]
            PatientViewModel patientModel)
        {
            if (ModelState.IsValid)
            {
                var doctor    = db.DoctorModels.Find(patientModel.Doctor);
                var procedure = db.ProcedureModels.Find(patientModel.Procedure);

                var availability = new AvailabilityModel()
                {
                    Doctor    = doctor,
                    Date      = patientModel.Date,
                    Interval  = patientModel.Interval,
                    Procedure = procedure
                };

                var booking = new BookingModel()
                {
                    CreatedAt    = patientModel.Date,
                    Availability = availability
                };

                var patient = new PatientModel()
                {
                    Email         = patientModel.Email,
                    FirstLastName = patientModel.FirstLastName,
                    Phone         = patientModel.Phone,
                    Notices       = patientModel.Notices,
                    Booking       = booking
                };

                db.PatientModels.Add(patient);
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(View(patientModel));
        }
        public async Task <IActionResult> Create(LicenseDTO licenseDTO)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(licenseDTO));
                }

                AvailabilityModel expiration        = (AvailabilityModel)Enum.Parse(typeof(AvailabilityModel), licenseDTO.Expiration);
                AvailabilityModel availabilityModel = (AvailabilityModel)Enum.Parse(typeof(AvailabilityModel), licenseDTO.IsAvailable);

                if (licenseDTO.Expiration.Equals("No"))
                {
                    licenseDTO.ExpiredOn = DateTime.MinValue;
                }

                var license = new License()
                {
                    ProductName    = licenseDTO.ProductName,
                    ProductVersion = licenseDTO.ProductVersion,
                    LicenseKey     = licenseDTO.LicenseKey,
                    Expiration     = expiration.ToString(),
                    ExpiredOn      = licenseDTO.ExpiredOn,
                    Remarks        = licenseDTO.Remarks,
                    IsAvailable    = availabilityModel.ToString(),
                    IsAssigned     = "No"
                };

                var result = await _licenseInterface.CreateLicense(license, Request.Cookies["AssetReference"].ToString());

                return(View(licenseDTO));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Error encountered in LicenseController||Create ErrorMessage: {ex.Message}");
                return(RedirectToAction("Index", "Error"));
            }
        }
Exemple #16
0
        public bool Add(AvailabilityModel model)
        {
            var periodsCoincide = _dbContext.Availabilities.Any(x => x.Vehicle.Id == model.VehicleId && (x.DateFrom < model.DateTo && model.DateFrom < x.DateTo));

            if (!periodsCoincide)
            {
                var location = _dbContext.Locations.SingleOrDefault(x => x.Id == model.LocationId);
                var vehicle  = _dbContext.Vehicles.SingleOrDefault(x => x.Id == model.VehicleId);
                var dbModel  = new Availability
                {
                    Id       = model.Id,
                    DateFrom = model.DateFrom,
                    DateTo   = model.DateTo,
                    Location = location,
                    Vehicle  = vehicle
                };
                _dbContext.Availabilities.Add(dbModel);
                _dbContext.SaveChanges();
                return(true);
            }
            return(false);
        }
Exemple #17
0
        public void UpdateAvailability(AvailabilityModel availabilitymodel)
        {
            AvailabilityDTO dtotransfer = new AvailabilityDTO()
            {
                UserId         = availabilitymodel.Id,
                StartMonday    = availabilitymodel.StartMonday,
                EndMonday      = availabilitymodel.EndMonday,
                StartTuesday   = availabilitymodel.StartTuesday,
                EndTuesday     = availabilitymodel.EndTuesday,
                StartWednesday = availabilitymodel.StartWednesday,
                EndWednesday   = availabilitymodel.EndWednesday,
                StartThursday  = availabilitymodel.EndThursday,
                EndThursday    = availabilitymodel.EndThursday,
                StartFriday    = availabilitymodel.StartFriday,
                EndFriday      = availabilitymodel.EndFriday,
                StartSaturday  = availabilitymodel.StartSaturday,
                EndSaturday    = availabilitymodel.EndSaturday,
                StartSunday    = availabilitymodel.StartSunday,
                EndSunday      = availabilitymodel.EndSunday
            };

            Context.UpdateAvailability(dtotransfer);
        }
Exemple #18
0
        public IActionResult PostClinicianAvailability(AvailabilityModel model)
        {
            var days = new[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };

            foreach (var day in days)
            {
                var availabilities = model.availability.Where(e => e.Key.EndsWith(day));
                if (availabilities.Any() && availabilities.Count() == 2)
                {
                    if (!string.IsNullOrEmpty(model.availability["End_" + day]) && !string.IsNullOrEmpty(model.availability["End_" + day]))
                    {
                        try
                        {
                            var end_time   = Convert.ToDateTime(model.availability["End_" + day]);
                            var start_time = Convert.ToDateTime(model.availability["Start_" + day]);

                            _clinicianAvailabilityService.AddOrUpdate(
                                new mp_clinician_availability
                            {
                                day_name     = day,
                                start_time   = start_time,
                                end_time     = end_time,
                                status       = true,
                                created_at   = DateTime.Now,
                                clinician_id = model.clinician_id
                            });
                        }
                        catch (Exception)
                        {
                        }
                    }
                }
            }

            return(Ok(200));
        }
Exemple #19
0
        public void Edit(AvailabilityModel model)
        {
            var dbModel = _dbContext.Availabilities.Include("Location").SingleOrDefault(x => x.Id == model.Id);

            // TODO: Check edited dates are not in conflict with another availability
            if (dbModel != null)
            {
                if (dbModel.DateFrom != model.DateFrom)
                {
                    dbModel.DateFrom = model.DateFrom;
                }
                if (dbModel.DateTo != model.DateTo)
                {
                    dbModel.DateTo = model.DateTo;
                }
                if (dbModel.Location.Id != model.LocationId)
                {
                    var location = _dbContext.Locations.SingleOrDefault(x => x.Id == model.LocationId);
                    dbModel.Location = location;
                }

                _dbContext.SaveChanges();
            }
        }
        public ActionResult Create(int ProfessorId, int CursoId, int QtdAulas, string disciplinas)
        {
            using (AssignmentModel model = new AssignmentModel())
            {
                model.Delete(ProfessorId, CursoId);
            }

            using (ProfessorModel model = new ProfessorModel())
            {
                model.UpdateHorasAula(ProfessorId, QtdAulas);
            }

            string[] valores = disciplinas.Split(',');
            if (valores[0] != "")
            {
                for (int i = 0; i < valores.Length; i++)
                {
                    Atribuicao a = new Atribuicao();
                    a.CodProfessor  = ProfessorId;
                    a.CodDisciplina = Convert.ToInt32(valores[i]);
                    a.CodCurso      = CursoId;

                    using (AssignmentModel model = new AssignmentModel())
                    {
                        model.Create(a);
                    }
                }
            }

            using (AvailabilityModel model = new AvailabilityModel())
            {
                model.Delete(ProfessorId);//apaga a disponibilidade do professor já que a assignments foi alterada
            }

            return(Json("Salvo com sucesso"));
        }
        public ActionResult _StepsAvailability(int ProfessorId)
        {
            Professor p;
            List <Disponibilidade> lista;

            List <int> listaBloqueados = new List <int>();

            int[] manha  = { 1, 9, 17, 25, 33, 2, 10, 18, 26, 34, 3, 11, 19, 27, 35, 41, 42, 43, 46, 47, 48 };
            int[] tarde  = { 4, 12, 20, 28, 36, 5, 13, 21, 29, 37, 6, 14, 22, 30, 38, 41, 42, 43, 46, 47, 48 };
            int[] noite  = { 7, 15, 23, 31, 39, 8, 16, 24, 32, 40, 41, 42, 43, 46, 47, 48 };
            int[] sabado = { 44, 45 };

            using (ProfessorModel model = new ProfessorModel())
            {
                p = model.Read(ProfessorId);
            }
            using (AvailabilityModel model = new AvailabilityModel())
            {
                try
                {
                    lista = model.Read(p.PessoaId);
                }
                catch
                {
                    lista = null;
                }
            }

            using (AssignmentModel model = new AssignmentModel())
            {
                List <string> listaTurno = model.ReadTurno(ProfessorId);

                //Adiciona os id's dos slots da manhã para a lista de bloqueio
                if (!listaTurno.Contains("Morning"))
                {
                    foreach (var item in manha)
                    {
                        listaBloqueados.Add(item);
                    }
                }

                //Adiciona os id's dos slots da tarde para a lista de bloqueio
                if (!listaTurno.Contains("Afternoon"))
                {
                    foreach (var item in tarde)
                    {
                        listaBloqueados.Add(item);
                    }
                }

                //Adiciona os id's dos slots da noite para a lista de bloqueio
                if (!listaTurno.Contains("Evening"))
                {
                    foreach (var item in noite)
                    {
                        listaBloqueados.Add(item);
                    }
                    foreach (var item in sabado)
                    {
                        listaBloqueados.Add(item);
                    }
                }
            }

            ViewBag.ListBloqueados      = listaBloqueados;
            ViewBag.ListDisponibilidade = lista;
            return(PartialView(p));
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            String currency = "€";

            wsCurrencyWebService.CurrencyWebService currencyWebService = new wsCurrencyWebService.CurrencyWebService();

            dvdInfoLink.NavigateUrl  = "~/detail.aspx?id=" + id;
            dvdInfoLink2.NavigateUrl = dvdInfoLink.NavigateUrl;
            imgDvdCover.ImageUrl     = imageUrl;
            if (title.Length <= 40)
            {
                lblTitle.Text = title;
            }
            else
            {
                lblTitle.Text = title.Substring(0, 28) + "...";
            }


            if (Request.QueryString["currency"] == null)
            {
                if (CookieUtil.CookieExists("currency"))
                {
                    switch (CookieUtil.GetCookieValue("currency"))
                    {
                    case "usd":
                        currency   = "$";
                        buy_price  = (float)currencyWebService.convert(buy_price, "usd");
                        rent_price = (float)currencyWebService.convert(rent_price, "usd");
                        break;
                    }
                }
            }
            else
            {
                switch (Request.QueryString["currency"])
                {
                case "usd":
                    currency   = "$";
                    buy_price  = (float)currencyWebService.convert(buy_price, "usd");
                    rent_price = (float)currencyWebService.convert(rent_price, "usd");
                    break;
                }
            }

            //set buy button color and text
            if (AvailabilityModel.isAvailableForBuying(Convert.ToString(id)))
            {
                btnBuyB.Attributes.Add("Class", "btn btn-success price-box");
            }
            else
            {
                btnBuyB.Attributes.Add("Class", "btn btn-warning price-box");
            }
            btnBuyB.InnerText = "Buy " + currency + " " + buy_price;

            //set rent button properties and text
            btnRentB.Attributes.Add("CommandArgument", id);

            DvdInfoService dvdbll = new DvdInfoService();

            try
            {
                DvdInfo         thisDVD = dvdbll.getByID(Convert.ToString(id));                             //Throws NoRecordExample
                List <DateTime> dates   = new AvailabilityModel().getAvailabilities(thisDVD, DateTime.Now); //Throws NoRecordException


                if (dates.Count >= 14)
                {
                    //fully available, green button
                    btnRentB.Attributes.Add("Class", "btn btn-success price-box");
                }
                else if (dates.Count > 0)
                {
                    //available on some days, orange button
                    btnRentB.Attributes.Add("Class", "btn btn-warning price-box");
                }
                else
                {
                    //not available at all, red button
                    btnRentB.Attributes.Add("Class", "btn btn-danger price-box");
                }
            }
            catch (NoRecordException)
            {
            }

            btnRentB.InnerText = "Rent " + currency + " " + rent_price;
        }
        public ActionResult Create(AvailabilityModel model)
        {
            GetTableList(ref model);

            return(View("Availability", model));
        }
        public IActionResult AddAvailability(int id)
        {
            AvailabilityModel model = AvailabilityLogic.GetAvailability(id);

            return(View("AddAvailability", model));
        }
Exemple #25
0
        private void setupDvdInfo(String id)
        {
            try
            {
                wsCurrencyWebService.CurrencyWebService currencyWebService = new wsCurrencyWebService.CurrencyWebService();
                String currency = "€";

                DvdInfo dvdInfo = new DvdInfoService().getByID(id.ToString());           //Throws NoRecordException

                lblTitle.Text        = dvdInfo.name + " ";
                linkYear.Text        = "(" + dvdInfo.year + ")";
                linkYear.NavigateUrl = "~/Catalog.aspx?year=" + dvdInfo.year;

                linkDirector.Text        = dvdInfo.author;
                linkDirector.NavigateUrl = "~/Catalog.aspx?director=" + dvdInfo.author;

                if (!dvdInfo.actors[0].Equals("")) //even dvd's without actors contain 1 empty string element
                {
                    foreach (String a in dvdInfo.actors)
                    {
                        HyperLink actor = new HyperLink();
                        actor.Text        = a;
                        actor.NavigateUrl = "~/Catalog.aspx?actor=" + a;
                        actorLinks.Controls.Add(actor);
                        Label l = new Label();
                        l.Text = ", ";
                        actorLinks.Controls.Add(l);
                    }
                    int i = actorLinks.Controls.Count;
                    actorLinks.Controls.RemoveAt(i - 1);
                    actorLinks.Controls.Add(new LiteralControl("<br />"));
                }
                else
                {
                    lblActors.Visible = false;
                }

                if (!dvdInfo.duration.Equals(""))
                {
                    lblDuration.Text = dvdInfo.duration + " min";
                }
                else
                {
                    spanRuntime.Visible = false;
                }

                foreach (Genre g in dvdInfo.genres)
                {
                    HyperLink genre = new HyperLink();
                    genre.Text        = g.name;
                    genre.NavigateUrl = "~/Catalog.aspx?genre=" + g.genre_id;

                    genreLinks.Controls.Add(genre);
                    Label l = new Label();
                    l.Text = ", ";
                    genreLinks.Controls.Add(l);
                }
                int j = genreLinks.Controls.Count;
                if (j > 0)
                {
                    genreLinks.Controls.RemoveAt(j - 1);
                }

                lblPlot.Text = dvdInfo.descripion;

                if (Request.QueryString["currency"] == null)
                {
                    if (CookieUtil.CookieExists("currency"))
                    {
                        switch (CookieUtil.GetCookieValue("currency"))
                        {
                        case "usd":
                            currency           = "$";
                            dvdInfo.buy_price  = (float)currencyWebService.convert(dvdInfo.buy_price, "usd");
                            dvdInfo.rent_price = (float)currencyWebService.convert(dvdInfo.rent_price, "usd");
                            break;
                        }
                    }
                }
                else
                {
                    switch (Request.QueryString["currency"])
                    {
                    case "usd":
                        currency           = "$";
                        dvdInfo.buy_price  = (float)currencyWebService.convert(dvdInfo.buy_price, "usd");
                        dvdInfo.rent_price = (float)currencyWebService.convert(dvdInfo.rent_price, "usd");
                        break;
                    }
                }

                if (AvailabilityModel.isAvailableForBuying(Request.QueryString["id"]))
                {
                    lblBuyStatus.Text = "";
                    btnBuyB.Attributes.Add("Class", "btn btn-success");
                }
                else
                {
                    lblBuyStatus.Text = "Item currently out of stock!";
                    btnBuyB.Attributes.Add("Class", "btn btn-warning");
                }

                btnBuyB.InnerText = "Buy " + currency + " " + dvdInfo.buy_price.ToString();
                btnRent1.Text     = "Rent 1 day " + currency + " " + dvdInfo.rent_price.ToString();
                btnRent3.Text     = "Rent 3 days " + currency + " " + (dvdInfo.rent_price * 3).ToString();
                btnRent7.Text     = "Rent 7 days " + currency + " " + (dvdInfo.rent_price * 7).ToString();

                foreach (KeyValuePair <int, String> k in dvdInfo.media)
                {
                    if (k.Key == 1)
                    {
                        imgDvdCoverFocus.ImageUrl = k.Value;
                    }

                    else if (k.Key == 2)
                    {
                        HtmlGenericControl div = new HtmlGenericControl("div");
                        div.Attributes["class"] = "col-xs-3 col-sm-3 col-md-3 col-lg-3 DocumentItem";

                        Image img = new Image();
                        img.ImageUrl = k.Value;
                        div.Controls.Add(img);

                        scrollrow.Controls.Add(div);
                    }
                    else if (k.Key == 3)
                    {
                        HtmlGenericControl div = new HtmlGenericControl("div");
                        div.Attributes["class"] = "col-xs-3 col-sm-3 col-md-3 col-lg-3 DocumentItem";
                        Literal youtube = new Literal();
                        youtube.Text = GetYouTubeScript(k.Value);
                        div.Controls.Add(youtube);
                        scrollrow.Controls.Add(div);
                    }
                }
            }
            catch (NoRecordException)
            {
            }
        }