private void CarregaDados() { var listaOs = new List <OS>(); try { listaOs = ( from os in _banco.OS where ((os.DTINICIO >= TBDataInicial.Value) && (os.DTFIM.Equals(null) || (os.DTFIM <= TBDataFinal.Value))) || (os.DTINICIO.Equals(null) && os.DTFIM.Equals(null)) select os ).DefaultIfEmpty().OrderByDescending(t => t.DTINICIO).ToList(); } catch (Exception ex) { MessageBox.Show("Erro ao buscar dados: " + ex.Message, "Controle", MessageBoxButtons.OK, MessageBoxIcon.Error); } foreach (var os in listaOs) { if (os != null) { if ((os.DTINICIO.Value != DateTime.MinValue) && (os.DTFIM.Value != DateTime.MinValue)) { if (os.TEMPOGASTO != TimeSpan.MinValue) { OS osbanco = (from o in _banco.OS where o.IDOS == os.IDOS select o).FirstOrDefault(); os.TEMPOGASTO = Util.CalculaHora(os.DTFIM, os.DTINICIO); osbanco.TEMPOGASTO = os.TEMPOGASTO; } } } } _banco.SaveChanges(); DGControle.DataSource = listaOs; CalcularHorasTrabalhadas(); }
private void btnSalvar_Click(object sender, EventArgs e) { if (_idos == 0) { var os = MontaOs(); _banco.OS.Add(os); } else { _oseditando.DESCRICAO = tbdescricao.Text; _oseditando.DTFIM = dpDtFim.Value; _oseditando.DTINICIO = dpDtInicio.Value; _oseditando.OS1 = tbos.Text; _oseditando.TEMPOGASTO = Util.CalculaHora(_oseditando.DTFIM, _oseditando.DTINICIO); } try { _banco.SaveChanges(); Close(); } catch (DbEntityValidationException ex) { foreach (var eve in ex.EntityValidationErrors) { var erro = String.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, ""); foreach (var ve in eve.ValidationErrors) { erro += String.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } Util.MenssagemErro(erro); } throw; } }