Ejemplo n.º 1
0
        public ActionResult BecomePerformer(BecomePerformerViewModel model, int[] selectedCategories, HttpPostedFileBase loadImage)
        {
            if ((bool)Session["isPerformer"] && (bool)Session["adminStatus"])
            {
                return(View("~/Views/Error/Forbidden.cshtml"));
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (selectedCategories == null)
            {
                ModelState.AddModelError("", "At least one category is required");
                GetCategoriesList();
                return(View(model));
            }

            PictureViewModelBLL picture = null;

            if (!ReferenceEquals(loadImage, null))
            {
                byte[] image;
                using (var binaryReader = new BinaryReader(loadImage.InputStream))
                {
                    image = binaryReader.ReadBytes(loadImage.ContentLength);
                }
                picture = new PictureViewModelBLL {
                    Image = image
                };

                _pictureService.Create(image);
                _unitOfWork.Save();
            }

            ClientViewModelBLL client = _userService.FindById(User.Identity.GetUserId <int>());

            Mapper.Initialize(cfg => cfg.CreateMap <BecomePerformerViewModel, ClientViewModelBLL>()
                              .ForMember("RegistrationDate", opt => opt.MapFrom(c => DateTime.Today))
                              .ForMember("IsPerformer", opt => opt.MapFrom(c => true))
                              .ForMember("AdminStatus", opt => opt.MapFrom(c => false))
                              .ForMember("Rating", opt => opt.MapFrom(c => 0))
                              .ForMember("PictureId", opt => opt.MapFrom(c => _pictureService.FindByBytes(picture.Image).Value))
                              );
            Mapper.Map(model, client);
            _userService.Update(client, selectedCategories);
            _unitOfWork.Save();

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 2
0
        public ActionResult BecomePerformer(string message = "", string company     = "",
                                            string info    = "", string phoneNumber = "")
        {
            if ((bool)Session["isPerformer"] && (bool)Session["adminStatus"])
            {
                return(View("~/Views/Error/Forbidden.cshtml"));
            }

            GetCategoriesList();
            var model = new BecomePerformerViewModel
            {
                Company     = company,
                Info        = info,
                PhoneNumber = phoneNumber
            };

            ViewBag.DefaultPath =
                $"data: image/png; base64, {Convert.ToBase64String(System.IO.File.ReadAllBytes(Server.MapPath(DefaultImageName)))}";

            return(View("BecomePerformer", model));
        }