Ejemplo n.º 1
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));
            }
        }
Ejemplo n.º 2
0
 public ActorResponse(ActorReturnDto actor)
     : this(true, new Dictionary <string, string[]>(), actor)
 {
 }
Ejemplo n.º 3
0
        public ActorResponse EditActor(int id, ActorEditDto actorEditDto)
        {
            Dictionary <string, string[]> errors = new Dictionary <string, string[]>();

            DateTime data = DateTime.Now;

            if (actorEditDto.Born > data)
            {
                errors.Add("Data", new[] { "Podana data jest nieprawidłowa" });
                return(new ActorResponse(errors));
            }

            UserAccount user = _context.UserAccounts.FirstOrDefault(u => u.UserName == _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 actor = _context.Actors.AsNoTracking().FirstOrDefault(act => act.ActorId == id);

            if (actor == null)
            {
                errors.Add("Aktor", new[] { "Szukany aktor nie istanieje w bazie" });
                return(new ActorResponse(errors));
            }

            Actor actorEditModel = _mapper.Map <ActorEditDto, Actor>(actorEditDto);

            actorEditModel.ActorId       = id;
            actorEditModel.AccountCreate = user.UserName;
            actorEditModel.Age           = DateTime.Now.Year - actorEditModel.Born.Year;



            var listImageRemove = new List <ImageActor>();

            if (actorEditDto.RemoveImages != null)
            {
                foreach (var fileName in actorEditDto.RemoveImages)
                {
                    var image = _context.ActorImages.FirstOrDefault(i => i.FileName == fileName);

                    if (image != null)
                    {
                        _imageService.RemoveImages(actorEditDto.RemoveImages);
                    }
                }
            }

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

            if (actorEditDto.Images != null)
            {
                try
                {
                    uploadedImagesModels =
                        _imageService.UploadImagesToServer(actorEditDto.Images, actorEditModel);
                }
                catch (Exception ex)
                {
                    errors.Add("Images", new[] { ex.Message });
                    return(new ActorResponse(errors));
                }
            }
            try
            {
                _context.ActorImages.RemoveRange(listImageRemove);
                _context.ActorImages.AddRange(uploadedImagesModels);
                _context.Actors.Update(actorEditModel);
                _context.SaveChanges();
                ActorReturnDto actorReturnDto = _mapper.Map <Actor, ActorReturnDto>(actorEditModel);

                actorReturnDto.Images = new List <string>();
                foreach (var e in actorEditModel.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));
            }
        }
Ejemplo n.º 4
0
 private ActorResponse(bool success, Dictionary <string, string[]> message, ActorReturnDto actor)
     : base(success, message)
 {
     Actor = actor;
 }