//Método para inserir um colaborador que executou uma atividade em uma Obra que ele não esta associado. public ApropriacaoColaborador InsertApropriacaoColaborador(string IdObra, ApropriacaoColaborador apropriacaocolaborador) { try { if (apropriacaocolaborador == null) { throw new Exception("Nenhum valor encontrado."); } if (string.IsNullOrEmpty(IdObra)) { throw new Exception("IdObra está vazio"); } string dia = apropriacaocolaborador.DataPonto.Split('/')[0]; string mes = apropriacaocolaborador.DataPonto.Split('/')[1]; string ano = apropriacaocolaborador.DataPonto.Split('/')[2]; string data = string.Format("{0}/{1}/{2}", mes, dia, ano); apropriacaocolaborador.Id = Guid.NewGuid(); string query = string.Format(@"INSERT INTO SEO_ApropriacaoColaborador VALUES ( '{0}' , '{1}' , '{2}' , '{3}' , '{4}')" , apropriacaocolaborador.Id , apropriacaocolaborador.IdColaborador , apropriacaocolaborador.HorasPonto , data , IdObra); contexto.Database.ExecuteSqlCommand(query); return(apropriacaocolaborador); } catch (Exception ex) { throw new Exception(ex.Message); } }
//Método para Atualizar os dados //public string UpdateData(string obra, string user) public static RetornoWS UpdateData(List <Obra> obra, string user) { JavaScriptSerializer js = new JavaScriptSerializer(); try { //Condição para verificar se o objeto obra está vazio //if (string.IsNullOrEmpty(obra)) if (obra == null) { throw new Exception("objeto vazio"); } //List<Obra> Obras = js.Deserialize<List<Obra>>(obra); List <Obra> Obras = obra; //UsuarioLogado usuario = js.Deserialize<UsuarioLogado>(user); UsuarioLogado usuario = new UsuarioLogado(); Util.sql = "select * from SEO_Usuario where U_Id = " + "'" + user + "'"; using (SqlConnection conn = new SqlConnection(Util.datasource)) { SqlCommand cmd = new SqlCommand(Util.sql, conn); SqlDataReader dr = null; conn.Open(); dr = cmd.ExecuteReader(); while (dr.Read()) { usuario.Chapa = dr["U_Chapa"].ToString(); usuario.CPF = dr["U_CPF"].ToString(); usuario.Id = Guid.Parse(dr["U_Id"].ToString()); usuario.Hash = Guid.Parse(dr["U_Hash"].ToString()); usuario.Nome = dr["U_Nome"].ToString(); } dr.Close(); dr.Dispose(); conn.Close(); conn.Dispose(); } ObraService obrasService = new ObraService(); foreach (Obra item in Obras) { foreach (var item2 in item.ApropriacaoColaborador) { ApropriacaoColaborador aprop = item2; //Condição para verficiar se é um novo Colaborador para a obra if (String.IsNullOrEmpty(item2.Id.ToString()) || item2.Id.ToString().Equals("00000000-0000-0000-0000-000000000000")) { aprop = obrasService.InsertApropriacaoColaborador(item.Id.ToString(), item2); } foreach (var item3 in item2.ListApropriacaoAtividade) { //Condição para verficiar se é uma nova Atividade para o(s) Colaborador(es) if (String.IsNullOrEmpty(item3.Id.ToString()) || item3.Id.ToString().Equals("00000000-0000-0000-0000-000000000000")) { obrasService.InsertA_Atividade(aprop.Id.ToString(), item3); } else { obrasService.UpdateA_Atividade(item3); } } } } List <Colaborador> ListColaboradores = new UsuarioService().GetColaboradores(); List <Obra> ListObra = new ObraService().GetObras(usuario.Id); return(new RetornoWS { Erro = false, Message = "Itens Atualizados Com Sucesso.", Colaboradores = ListColaboradores, Obras = ListObra }); //return js.Serialize(new RetornoWS { Erro = false, Message = "Itens Atualizados Com Sucesso.", Colaboradores = ListColaboradores, Obras = ListObra }); } catch (Exception ex) { //return js.Serialize(new RetornoWS { Erro = true, Message = ex.Message }); return(new RetornoWS { Erro = true, Message = ex.Message }); } }