Пример #1
0
        public IActionResult AddActor([FromForm] ActorSaveDto actorSave)
        {
            var result = _actorService.AddActor(actorSave);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            return(Ok(result.Actor));
        }
Пример #2
0
        public ActorResponse AddActor(ActorSaveDto actorSave)
        {
            Dictionary <string, string[]> errors = new Dictionary <string, string[]>();

            if (actorSave.Born > DateTime.Now)
            {
                errors.Add("Data", new[] { "Podana data jest nieprawidłowa" });
                return(new ActorResponse(errors));
            }
            UserAccount user = _context.UserAccounts.FirstOrDefault(u => u.UserName == _userName || u.Email == _userName);

            if (user == null)
            {
                errors.Add("User", new[] { "Podane konto nie istnieje" });
                return(new ActorResponse(errors));
            }

            if (user.Rola != "admin" && user.Rola != "moderator")
            {
                errors.Add("User", new[] { "Nie masz dostepu do tej czesci serwisu" });
                return(new ActorResponse(errors));
            }
            Actor actorModel = _mapper.Map <ActorSaveDto, Actor>(actorSave);

            actorModel.AccountCreate = user.UserName;
            actorModel.Age           = DateTime.Now.Year - actorModel.Born.Year;

            List <ImageActor> uploadedImagesModels = new List <ImageActor>();

            if (actorSave.Images != null)
            {
                try
                {
                    uploadedImagesModels =
                        _imageService.UploadImagesToServer(actorSave.Images, actorModel);
                }
                catch (Exception ex)
                {
                    errors.Add("Images", new[] { ex.Message });
                    return(new ActorResponse(errors));
                }
            }

            actorModel.Images = uploadedImagesModels;

            try
            {
                _context.ActorImages.AddRange(uploadedImagesModels);
                _context.Actors.Add(actorModel);
                _context.SaveChanges();
                ActorReturnDto actorReturnDto = _mapper.Map <Actor, ActorReturnDto>(actorModel);
                actorReturnDto.Images = new List <string>();
                foreach (var e in actorModel.Images)
                {
                    actorReturnDto.Images.Add(e.FileName);
                }
                return(new ActorResponse(actorReturnDto));
            }
            catch (Exception ex)
            {
                errors.Add("Wystapil nieoczekiwany blad", new[] { ex.Message });

                return(new ActorResponse(errors));
            }
        }