public ActionResult Create(LivroViewModel formModel) { if (!TemPermissao(Enumerations.Generico.TipoAcao.Cadastrar, permissoesAdministrador, permissoesBibliotecario, permissoesAluno)) return RedirectToAction("Search"); return Edit(formModel); }
public ActionResult Edit(LivroViewModel formModel) { if (!TemPermissao(formModel.Id.HasValue ? Enumerations.Generico.TipoAcao.Editar : Enumerations.Generico.TipoAcao.Cadastrar, permissoesAdministrador, permissoesBibliotecario, permissoesAluno)) return RedirectToAction("Search"); var viewModelError = new ViewModelErrors(); if (ModelState.IsValid) { var objeto = !formModel.Id.HasValue ? new Livro() : db.Livro.FirstOrDefault(p => p.Id == formModel.Id); if (LivrosModel.ValidarObjeto(db, ref viewModelError, objeto, formModel)) { LivrosModel.Save(db, objeto, formModel); this.AddNotification(string.Format(Constantes._SalvoComSucesso, GetModuleNameSingular()), NotificationType.SUCCESS); return RedirectToAction("Search"); } } ModelState.MergeErrors(viewModelError); this.AddNotification(Constantes.NaoFoiPossivelExecutarAOperacaoPorFavorVerifiqueAsMensagensDeValidacao, NotificationType.ERROR); ViewBag.ListEstadoConservacao = LivrosModel.GetListItemEstadoConservacaoLivro(formModel.EstadoConservacaoId); ViewBag.ListBaixado = GenericosModel.GetListItemSimOuNao(formModel.BaixadoId); ViewBag.Title = GetModuleNamePlural(); ViewBag.Subtitle = string.Format("{0} {1}", (formModel.Id.HasValue ? "Editar" : "Cadastrar"), GetModuleNameSingular()); return View("Edit", formModel); }
public static void Save(SBSCEntities db, Livro livro, LivroViewModel formModel) { if (livro == null) throw new ArgumentNullException("livro"); if (formModel == null) throw new ArgumentNullException("formModel"); livro.Codigo = formModel.Codigo; livro.Titulo = formModel.Titulo.Trim(); livro.Genero = !string.IsNullOrEmpty(formModel.Genero) ? formModel.Genero.Trim() : string.Empty; livro.Autor = !string.IsNullOrEmpty(formModel.Autor) ? formModel.Autor.Trim() : string.Empty; livro.Editora = !string.IsNullOrEmpty(formModel.Editora) ? formModel.Editora.Trim() : string.Empty; livro.Ano = formModel.Ano; livro.EstadoConservacao = (byte)formModel.EstadoConservacaoId; livro.Local = !string.IsNullOrEmpty(formModel.Local) ? formModel.Local.Trim() : string.Empty; livro.Resumo = formModel.Resumo; if (formModel.BaixadoId.HasValue) { if (formModel.BaixadoId.Value == (int)Enumerations.Generico.SimOuNao.Sim) { livro.IsBaixado = true; livro.DtBaixa = Genericos.GetDateTimeFromBrazil(); } else { livro.IsBaixado = false; livro.DtBaixa = (DateTime?)null; } } if (formModel.Id.HasValue) { livro.DtHrEdicao = Genericos.GetDateTimeFromBrazil(); } else { livro.DtHrCadastro = Genericos.GetDateTimeFromBrazil(); db.Livro.Add(livro); } db.SaveChanges(); }
/// <summary> /// Valida o objeto /// </summary> /// <param name="db"></param> /// <param name="viewModelError"></param> /// <param name="objeto"></param> /// <param name="formModel"></param> /// <returns></returns> public static bool ValidarObjeto(SBSCEntities db, ref ViewModelErrors viewModelError, Livro objeto, LivroViewModel formModel) { if (formModel == null) throw new ArgumentNullException("formModel"); if (objeto == null) { viewModelError.AddModelError(string.Empty, Constantes.ORegistroNaoFoiEncontrado); return false; } #region Valida se já existe registro com título igual //var tituloIgual = db.Livro.Where(p => p.Titulo.ToLower().Equals(formModel.Titulo.Trim().ToLower())); //if (formModel.Id.HasValue) // tituloIgual = tituloIgual.Where(p => p.Id != formModel.Id.Value); //if (tituloIgual.FirstOrDefault() != null) // viewModelError.AddModelError("Titulo", "Já existe um livro com o 'Título' informado."); #endregion #region Valida se já existe registro com código igual if (!string.IsNullOrEmpty(formModel.Codigo)) { var codigoIgual = db.Livro.Where(p => p.Codigo.ToLower().Equals(formModel.Codigo.Trim().ToLower())); if (formModel.Id.HasValue) codigoIgual = codigoIgual.Where(p => p.Id != formModel.Id.Value); if (codigoIgual.FirstOrDefault() != null) viewModelError.AddModelError("Codigo", "Já existe um livro com o 'Código' informado."); } #endregion return viewModelError.IsValid; }
public static LivroViewModel GetViewModel(Livro livro) { var status = GetStatus(livro); var viewModel = new LivroViewModel { Id = livro.Id, Codigo = livro.Codigo, StatusId = (int)status, StatusText = EnumsHelper.GetText(typeof(Enumerations.Livro.StatusLivro), (int)status), Titulo = livro.Titulo.Trim(), Genero = !string.IsNullOrEmpty(livro.Genero) ? livro.Genero.Trim() : string.Empty, Autor = !string.IsNullOrEmpty(livro.Autor) ? livro.Autor.Trim() : string.Empty, Editora = !string.IsNullOrEmpty(livro.Editora) ? livro.Editora.Trim() : string.Empty, Ano = livro.Ano, EstadoConservacaoId = (int)livro.EstadoConservacao, EstadoConservacaoText = EnumsHelper.GetText(typeof(Enumerations.Livro.EstadoConservacaoLivro), (int)livro.EstadoConservacao), Local = !string.IsNullOrEmpty(livro.Local) ? livro.Local.Trim() : string.Empty, Resumo = livro.Resumo, BaixadoId = livro.IsBaixado ? (int)Enumerations.Generico.SimOuNao.Sim : (int)Enumerations.Generico.SimOuNao.Nao, BaixadoText = livro.IsBaixado ? EnumsHelper.GetText(Enumerations.Generico.SimOuNao.Sim) : EnumsHelper.GetText(Enumerations.Generico.SimOuNao.Nao), DtBaixa = livro.DtBaixa, DtBaixaText = livro.DtBaixa.HasValue ? livro.DtBaixa.Value.ToShortDateString() : string.Empty, DtCadastro = livro.DtHrCadastro, DtCadastroText = livro.DtHrCadastro.ToShortDateString(), DtEdicao = livro.DtHrEdicao, DtEdicaoText = livro.DtHrEdicao.HasValue ? livro.DtHrEdicao.Value.ToShortDateString() : string.Empty }; return viewModel; }