コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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")));
            }
        }
コード例 #6
0
        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.")));
            }
        }
コード例 #7
0
        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);
        }
コード例 #8
0
 public dynamic GuardarRegistroProyecto(ProyectoRequest proyectoRequest)
 {
     return(ProyectoOperations.Guardar(_factory, _connectionDB, proyectoRequest));
 }
コード例 #9
0
 public dynamic guardarProyecto([FromBody] ProyectoRequest proyectoRequest)
 {
     return(_dataModelRepository.GuardarRegistroProyecto(proyectoRequest));
 }
コード例 #10
0
        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 });
        }