コード例 #1
0
ファイル: LivrosController.cs プロジェクト: anzolin/SBSC
        public ActionResult Create(LivroViewModel formModel)
        {
            if (!TemPermissao(Enumerations.Generico.TipoAcao.Cadastrar, permissoesAdministrador, permissoesBibliotecario, permissoesAluno))
                return RedirectToAction("Search");

            return Edit(formModel);
        }
コード例 #2
0
ファイル: LivrosController.cs プロジェクト: anzolin/SBSC
        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);
        }
コード例 #3
0
ファイル: Livros.cs プロジェクト: anzolin/SBSC
        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();
        }
コード例 #4
0
ファイル: Livros.cs プロジェクト: anzolin/SBSC
        /// <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;
        }
コード例 #5
0
ファイル: Livros.cs プロジェクト: anzolin/SBSC
        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;
        }