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)); } }
public ActorResponse(ActorReturnDto actor) : this(true, new Dictionary <string, string[]>(), actor) { }
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)); } }
private ActorResponse(bool success, Dictionary <string, string[]> message, ActorReturnDto actor) : base(success, message) { Actor = actor; }