private void putProyecto(string idProyecto) { ProyectoRequest proyectoRequest = new ProyectoRequest() { IdProyecto = int.Parse(idProyecto), ClienteId = int.Parse(ComboBoxCliente.SelectedValue.ToString()), TituloProyecto = textBoxTitulo.Text, DescripcionProyecto = textBoxDescProyecto.Text, EstadoProyecto = comboBoxEstado.SelectedItem.ToString(), IdEmpleadoPm = Settings.Default.IdEmpleado }; HttpResponseMessage response = HttpUtils.putProyecto(Settings.Default.Client, int.Parse(idProyecto), proyectoRequest); string stringPR = response.Content.ReadAsStringAsync().Result; var responseMessage = Newtonsoft.Json.JsonConvert.DeserializeObject <dynamic>(stringPR); if (response.IsSuccessStatusCode) { DialogResult result = MessageBox.Show("Proyecto actualizado con éxito!", "Wooh!", MessageBoxButtons.OK, MessageBoxIcon.Information); if (result == DialogResult.OK) { okUpdate = true; tituloProyecto = textBoxTitulo.Text; this.Dispose(); } } else { MessageBox.Show(this, (string)responseMessage.message, "Oops!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public HttpResponse <ProyectoResponse> BorrarProyecto(ProyectoRequest request) { if (request == null) { return(newHttpErrorResponse(new Error("El proyecto que se intenta borrar es invalido."))); } using (var db = new GeviApiContext()) { var pro = db.Proyectos .Where(p => p.Nombre.Equals(request.Nombre)) .Include(c => c.Cliente) .FirstOrDefault(); if (pro == null) { return(newHttpErrorResponse(new Error("No existe el Proyecto"))); } var viajes = db.Viajes .Where(v => v.Proyecto.Id == pro.Id) .Include(v => v.Empleado) .Include(v => v.Gastos) .Include(v => v.Proyecto) .ToList(); var response = new ProyectoResponse() { Id = pro.Id, Nombre = pro.Nombre, FechaInicio = pro.FechaInicio, Cliente = pro.Cliente?.Nombre }; if (viajes != null) { foreach (var v in viajes) { var gastos = db.Gastos .Where(g => g.Viaje.Id == v.Id) .ToList(); if (gastos != null) { foreach (var g in gastos) { db.Gastos.Remove(g); db.SaveChanges(); } } db.Viajes.Remove(v); db.SaveChanges(); } } db.Proyectos.Remove(pro); db.SaveChanges(); return(newHttpResponse(response)); } }
private void postProyecto() { ProyectoRequest usuarioRequest = new ProyectoRequest() { ClienteId = int.Parse(ComboBoxCliente.SelectedValue.ToString()), TituloProyecto = textBoxTitulo.Text, DescripcionProyecto = textBoxDescProyecto.Text, EstadoProyecto = "Vigente", IdEmpleadoPm = Settings.Default.IdEmpleado }; HttpResponseMessage response = HttpUtils.postProyecto(Settings.Default.Client, usuarioRequest); string stringCR = response.Content.ReadAsStringAsync().Result; var responseMessage = Newtonsoft.Json.JsonConvert.DeserializeObject <dynamic>(stringCR); if (response.IsSuccessStatusCode) { MessageBox.Show("Proyecto creado con éxito!", "Wooh!", MessageBoxButtons.OK, MessageBoxIcon.Information); foreach (MetroTextBox textBox in Controls.OfType <MetroTextBox>()) { textBox.Clear(); } } else { MessageBox.Show((string)responseMessage.message, "Oops!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public static HttpResponseMessage putProyecto(HttpClient client, int id, ProyectoRequest payload) { string stringData = JsonConvert.SerializeObject(payload); var contentData = new StringContent(stringData, Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PutAsync("/proyectos/" + id, contentData).Result; return(response); }
public HttpResponse <ProyectoResponse> ModificarProyecto(ProyectoRequest request) { if (request == null) { return(newHttpErrorResponse(new Error("El Proyecto que se intenta modificar es invalido."))); } using (var db = new GeviApiContext()) { var pro = db.Proyectos .Where(p => p.Nombre.Equals(request.Nombre)) .Include(p => p.Cliente) .FirstOrDefault(); if (pro == null) { return(newHttpErrorResponse(new Error("No existe el Proyecto"))); } if (pro.Cliente != null && pro.Cliente.Nombre.Equals(request.ClienteNombre) && pro.Nombre.Equals(request.Nombre) && pro.FechaInicio == request.FechaInicio) { return(newHttpErrorResponse(new Error("El proyecto no se modifico"))); } var cli = db.Clientes .Where(c => c.Nombre.Equals(request.ClienteNombre)) .Include(c => c.Proyectos) .Include(c => c.Tipo) .FirstOrDefault(); if (cli != null) { pro.Nombre = request.Nombre; pro.FechaInicio = request.FechaInicio; pro.Cliente = cli; db.Entry(pro).State = EntityState.Modified; db.SaveChanges(); var response = new ProyectoResponse() { Id = pro.Id, Nombre = pro.Nombre, FechaInicio = pro.FechaInicio, Cliente = pro.Cliente?.Nombre }; return(newHttpResponse(response)); } return(newHttpErrorResponse(new Error("No existe el cliente"))); } }
public HttpResponse <ProyectoResponse> NuevoProyecto(ProyectoRequest request) { if (request == null) { return(newHttpErrorResponse(new Error("El Proyecto que se intenta ingresar es invalido."))); } using (var db = new GeviApiContext()) { var cli = db.Clientes .Where(c => c.Nombre.Equals(request.ClienteNombre)) .Include(c => c.Proyectos) .Include(c => c.Tipo) .FirstOrDefault(); if (cli != null) { var nuevo = new Proyecto() { Nombre = request.Nombre, Cliente = cli, FechaInicio = request.FechaInicio }; try { db.Proyectos.Add(nuevo); db.SaveChanges(); } catch (DbUpdateException) { return(newHttpErrorResponse(new Error("Ya existe un Proyecto con ese nombre."))); } var response = new ProyectoResponse() { Id = nuevo.Id, Nombre = nuevo.Nombre, FechaInicio = nuevo.FechaInicio, Cliente = nuevo.Cliente?.Nombre }; return(newHttpResponse(response)); } return(newHttpErrorResponse(new Error("No existe el cliente."))); } }
public ProyectoResponse updateProyecto(ProyectoRequest request) { ProyectoResponse response = new ProyectoResponse(); string mensaje = ""; try { if (Security.ValidateToken(request.Token, request.intUsuarioID, request.vchUsuario, request.vchPassword)) { NapoleonDataAccess controller = new NapoleonDataAccess(); response.success = controller.updateProyecto(request.mdlProyecto, request.lstSites, ref mensaje); response.mensaje = mensaje; } } catch (Exception eSP) { throw eSP; } return(response); }
public dynamic GuardarRegistroProyecto(ProyectoRequest proyectoRequest) { return(ProyectoOperations.Guardar(_factory, _connectionDB, proyectoRequest)); }
public dynamic guardarProyecto([FromBody] ProyectoRequest proyectoRequest) { return(_dataModelRepository.GuardarRegistroProyecto(proyectoRequest)); }
public static dynamic Guardar(IContextFactory factory, IOptions <ConnectionDB> connection, ProyectoRequest proyectoRequest) { long idProyecto = 0; using (Aldeas_Context db = factory.Create(connection)) { var nuevoProyecto = new Proyectos() { nombre = proyectoRequest.Nombre, status = proyectoRequest.Status, donante = proyectoRequest.Donante, tipo_financiacion = proyectoRequest.TipoFinanciacion, nombre_donante = proyectoRequest.NombreDonante, direccion = proyectoRequest.Direccion, email = proyectoRequest.Email, fecha_inicio = Utils.CambiarFecha(proyectoRequest.FechaInicio), fecha_finalizacion = Utils.CambiarFecha(proyectoRequest.FechaFinalizacion), lider_ejecucion = proyectoRequest.LiderEjecucion, lider_coordinacion = proyectoRequest.LiderCoordinacion, comite_tecnico = proyectoRequest.ComiteTecnico, tipo_implementacion = proyectoRequest.TipoImplementacion, telefono = proyectoRequest.Telefono, Nombrearchivo = null, requiereLiquidacion = proyectoRequest.Requiere.ToUpper() == "TRUE" ? true:false, archivo = null }; db.tbProyectos.Add(nuevoProyecto); db.SaveChanges(); idProyecto = nuevoProyecto.id; List <FechasEntregas> fechas = new List <FechasEntregas>(); foreach (var item in proyectoRequest.FechasComites) { fechas.Add(new FechasEntregas() { id_proyecto = nuevoProyecto.id, fecha = Utils.CambiarFecha(item.Fecha), tipo_fecha = "COMITES" }); } foreach (var item in proyectoRequest.FechasInformes) { fechas.Add(new FechasEntregas() { id_proyecto = nuevoProyecto.id, fecha = Utils.CambiarFecha(item.Fecha), tipo_fecha = "INFORMES" }); } List <MunicipioProyectos> municipios = new List <MunicipioProyectos>(); foreach (var item in proyectoRequest.Municipio) { municipios.Add(new MunicipioProyectos() { id_proyecto = nuevoProyecto.id, id_departamento = item.CodigoDepartamento, id_municipio = item.CodigoMunicipio }); } db.tbMunicipioProyectos.AddRange(municipios); /** * Pantalla 2 */ ///Fechas de visita ///agregar responsable y lugar ///agregar ejecucion y base de datos var info = proyectoRequest.InfoFinanciera; var inforFinanciera = new InformacionFinanciera() { id_proyecto = nuevoProyecto.id, costoTotal = info.CostoTotal, cuenta = info.Cuenta, fuente = info.FuentePresupuesto, tipoFuente = info.TipoFuente, monedaDonacion = info.MonedaDonacion, tasacambio = info.TasaCambio, navision = info.NavisionFacilitiy, plataContrapartida = info.PlatContrapartida, plataDonante = info.PlataDonante, responsable = info.Responsable, lugar = info.Lugar }; db.tbInformacionFinanciera.Add(inforFinanciera); foreach (var item in info.Desembolsos) { fechas.Add(new FechasEntregas() { id_proyecto = nuevoProyecto.id, fecha = Utils.CambiarFecha(item.Fecha), tipo_fecha = "FECHAS DESEMBOLSO" }); } foreach (var item in info.Visitas) { fechas.Add(new FechasEntregas() { id_proyecto = nuevoProyecto.id, fecha = Utils.CambiarFecha(item.Fecha), tipo_fecha = "VISITAS" }); } db.tbFechaEntregas.AddRange(fechas); db.SaveChanges(); var infoEjecucion = proyectoRequest.ListaEjecucion; List <TbEjecucion> ejecucions = new List <TbEjecucion>(); if (infoEjecucion.Count > 0) { foreach (var item in infoEjecucion) { ejecucions.Add(new TbEjecucion() { IdFinanciera = inforFinanciera.id, Nombre = item.Nombre, Enero = item.Enero, Febrero = item.Febrero, Marzo = item.Marzo, Abril = item.Abril, Mayo = item.Mayo, Junio = item.Junio, Julio = item.Julio, Agosto = item.Agosto, Sept = item.Sept, Octubre = item.Octubre, Noviembre = item.Noviembre, Diciembre = item.Diciembre }); } db.tbEjecucion.AddRange(ejecucions); } var infoCentroCostos = proyectoRequest.InfoFinanciera.ListCentroCostos; List <ColaboradorInforFinanciera> listaCentroCostos = new List <ColaboradorInforFinanciera>(); foreach (var item in infoCentroCostos) { listaCentroCostos.Add(new ColaboradorInforFinanciera() { Codigo = item.Name, id_SubCentroCosto = item.Codigo, id_InfoFinanciera = inforFinanciera.id, id_Colaboradores = null }); } db.TbCICentroCostos.AddRange(listaCentroCostos); db.SaveChanges(); /// /** * Pantalla 3 Participantes * tabla Partipantes con tipo * total familias /Observaciones * Lista de otros Participantes */ var infoParticipantes = proyectoRequest.ParticiProyectados; var dataPart = new DBParticipantesProyectados(); dataPart.id_proyecto = idProyecto; dataPart.TotalFamilias = infoParticipantes.TotalFamilias; dataPart.Observaciones = infoParticipantes.Observaciones; db.tbParticipantesProyectados.Add(dataPart); db.SaveChanges(); List <DBParticipantes> listParticipantes = new List <DBParticipantes>(); foreach (var item in infoParticipantes.ListaParticipantes) { listParticipantes.Add(new DBParticipantes() { id_participantes = dataPart.id, Nombre = item.Nombre, Rango_0_5 = item.Rango_0_5, Rango_6_12 = item.Rango_6_12, Rango_13_17 = item.Rango_13_17, Rango_18_24 = item.Rango_18_24, Rango_25_56 = item.Rango_25_56, Mayores_60 = item.Mayores_60, Total = item.Total, TotalDesagregado = item.TotalDesagregado, Porcentaje = item.Porcentaje }); } if (infoParticipantes.OtrosParticipantes.Count > 0) { foreach (var item in infoParticipantes.OtrosParticipantes) { listParticipantes.Add(new DBParticipantes() { id_participantes = dataPart.id, Nombre = item.Nombre, Rango_0_5 = 0, Rango_6_12 = 0, Rango_13_17 = 0, Rango_18_24 = 0, Rango_25_56 = 0, Mayores_60 = 0, Total = item.Total, Porcentaje = item.Porcentaje }); } } db.tbParticipantes.AddRange(listParticipantes); db.SaveChanges(); } return(new { id = idProyecto, status = idProyecto == 0 ? "error" : "OK", code = 200 }); }