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); }
/// <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; }
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(); }
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; } }