コード例 #1
0
ファイル: Livros.cs プロジェクト: anzolin/SBSC
        public static string FormatLivro(Livro livro)
        {
            var status = "D";

            var ultimoEmprestimo = livro.ItensEmprestimo.OrderByDescending(ob => ob.DtDevolucao).FirstOrDefault();

            if (ultimoEmprestimo != null
                && ultimoEmprestimo.Emprestimo.Status == (int)Enumerations.Emprestimo.StatusEmprestimo.Emprestado)
                    status = "ND";

            return string.Format("[{0}] {1}", status, livro.Titulo);
        }
コード例 #2
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;
        }
コード例 #3
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;
        }
コード例 #4
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();
        }
コード例 #5
0
ファイル: Livros.cs プロジェクト: anzolin/SBSC
        public static int GetStatus(Livro livro)
        {
            if (livro.IsBaixado)
            {
                return (int)Enumerations.Livro.StatusLivro.Indisponivel;
            }
            else
            {
                var ultimoEmprestimo = livro.ItensEmprestimo.OrderByDescending(ob => ob.DtDevolucao).FirstOrDefault();

                if (ultimoEmprestimo != null
                    && ultimoEmprestimo.Emprestimo.Status == (int)Enumerations.Emprestimo.StatusEmprestimo.Emprestado)
                    return (int)Enumerations.Livro.StatusLivro.Indisponivel;
                else
                    return (int)Enumerations.Livro.StatusLivro.Disponivel;
            }
        }