Beispiel #1
0
        public ContenedorData EmpresaData(int id)
        {
            CookieHeaderValue cookie = Request.Headers.GetCookies("Oficina").FirstOrDefault();
            int codOficina           = Convert.ToInt32(cookie.Cookies.FirstOrDefault(s => s.Name == "Oficina").Value);

            EncabezadoEntity ee = EncabezadoDataAccess.ObtenerPorID(id);

            List <DesarrolloEntity> recorrwer = DesarrolloDataAccess.ObtenerEntidades().FindAll(x => x.encabezado_id == ee.enc_id);

            List <ContenedorRespuestas> lasres = new List <ContenedorRespuestas>();

            recorrwer.ForEach(d =>
            {
                ContenedorRespuestas inserta = new ContenedorRespuestas();
                inserta.desarrollo           = d;
                inserta.respuesta            = RespuestaDataAccess.ObtenerPorID(d.respuesta_id);
                lasres.Add(inserta);
            });

            return(new ContenedorData
            {
                encabezado = ee,
                respuestas = lasres,
                director = ContactoDataAccess.ObtenerEntidades().Find(z => z.encabezado_id == ee.enc_id && z.tipo == "DIRECTOR_EJECUTIVO"),
                personalidad = ContactoDataAccess.ObtenerEntidades().Find(z => z.encabezado_id == ee.enc_id && z.tipo == "PERSONALIDAD_JURIDICA"),
                agenda = AgendaDataAccess.ObtenerEntidades().Find(f => f.encabezado_id == ee.enc_id)
            });
        }
Beispiel #2
0
        public ResultadoBase GuardarFomulario(webFRM entrada)
        {
            try
            {
                string            token      = ActionContext.Request.Headers.GetValues("Token").First();
                int               _uid       = Security.Data.TokenDataAccess.Obtener(token).FirstOrDefault().UserId;
                string            _rut       = Security.Data.UsuarioDataAccess.UsuarioData(_uid).RutUsuario;
                CookieHeaderValue cookie     = Request.Headers.GetCookies("Oficina").FirstOrDefault();
                int               codOficina = Convert.ToInt32(cookie.Cookies.FirstOrDefault(s => s.Name == "Oficina").Value);

                EncabezadoEntity enx;
                if (entrada.encabezado.id_ficha == "NEW")
                {
                    EncabezadoEntity muestra = EncabezadoDataAccess.ObtenerEntidades().FirstOrDefault(s => s.cod_sucursal == codOficina && s.rut_empresa == entrada.encabezado.rut_empresa);

                    enx = new EncabezadoEntity();
                    enx.cod_sucursal    = codOficina;
                    enx.cuestionario_id = muestra.cuestionario_id;
                    enx.rut_empresa     = entrada.encabezado.rut_empresa;

                    enx.estamento          = entrada.encabezado.estamento_empresa;
                    enx.cantidad_empleados = Convert.ToInt32(entrada.encabezado.numero_empleados_empresa);
                    enx.nombre_funcionario = entrada.encabezado.nombre_funcionario;
                    enx.cargo_funcionario  = entrada.encabezado.cargo_funcionario;
                    enx.fecha_entrevista   = Convert.ToDateTime(entrada.encabezado.fecha_entrevista);
                    enx.rut_ejecutivo      = _rut;

                    int codigonuea = EncabezadoDataAccess.Guardar(enx);
                    enx.enc_id = codigonuea;
                    EncabezadoEntity rs = EncabezadoDataAccess.ObtenerPorID(codigonuea);
                    rs.nombre_empresa = muestra.nombre_empresa;
                    EncabezadoDataAccess.GuardarNombre(rs);
                }
                else
                {
                    enx                    = EncabezadoDataAccess.ObtenerEntidades().Find(e => e.enc_id == Convert.ToInt32(entrada.encabezado.id_ficha));
                    enx.estamento          = entrada.encabezado.estamento_empresa;
                    enx.cantidad_empleados = Convert.ToInt32(entrada.encabezado.numero_empleados_empresa);
                    enx.nombre_funcionario = entrada.encabezado.nombre_funcionario;
                    enx.cargo_funcionario  = entrada.encabezado.cargo_funcionario;
                    enx.fecha_entrevista   = Convert.ToDateTime(entrada.encabezado.fecha_entrevista);
                    enx.rut_ejecutivo      = _rut;
                    EncabezadoDataAccess.Guardar(enx);
                }



                if (entrada.personalidad.nombre_persona_juridica != null)
                {
                    DesarrolloEntity datosperjuridica = DesarrolloDataAccess.ObtenerEntidades().Find(f => f.encabezado_id == enx.enc_id && f.respuesta_id == 20);

                    if (datosperjuridica == null)
                    {
                        datosperjuridica = new DesarrolloEntity();
                    }

                    datosperjuridica.encabezado_id = enx.enc_id;
                    datosperjuridica.respuesta_id  = 20;
                    DesarrolloDataAccess.Guardar(datosperjuridica);

                    ContactoEntity perjur = ContactoDataAccess.ObtenerEntidades().Find(d => d.encabezado_id == enx.enc_id && d.tipo == "PERSONALIDAD_JURIDICA");

                    if (perjur == null)
                    {
                        perjur = new ContactoEntity();
                    }


                    perjur.encabezado_id = enx.enc_id;
                    perjur.nombre        = entrada.personalidad.nombre_persona_juridica;
                    perjur.direccion     = entrada.personalidad.direccion_persona_juridica;
                    perjur.email         = entrada.personalidad.email_persona_juridica;
                    perjur.telefono      = Convert.ToInt32(entrada.personalidad.telefono_persona_juridica);
                    perjur.compromisos   = entrada.personalidad.compromisos_persona_juridica;
                    perjur.tipo          = "PERSONALIDAD_JURIDICA";

                    ContactoDataAccess.Guardar(perjur);
                }

                if (entrada.director.nombre_director_ejecutivo != null)
                {
                    DesarrolloEntity datosdirector = DesarrolloDataAccess.ObtenerEntidades().Find(f => f.encabezado_id == enx.enc_id && f.respuesta_id == 17);

                    if (datosdirector == null)
                    {
                        datosdirector = new DesarrolloEntity();
                    }


                    datosdirector.encabezado_id = enx.enc_id;
                    datosdirector.respuesta_id  = 17;
                    DesarrolloDataAccess.Guardar(datosdirector);


                    ContactoEntity direc = ContactoDataAccess.ObtenerEntidades().Find(d => d.encabezado_id == enx.enc_id && d.tipo == "DIRECTOR_EJECUTIVO");

                    if (direc == null)
                    {
                        direc = new ContactoEntity();
                    }


                    direc.encabezado_id = enx.enc_id;
                    direc.nombre        = entrada.director.nombre_director_ejecutivo;
                    direc.direccion     = entrada.director.direccion_director_ejecutivo;
                    direc.email         = entrada.director.email_director_ejecutivo;
                    direc.telefono      = Convert.ToInt32(entrada.director.telefono_director_ejecutivo);
                    direc.tipo          = "DIRECTOR_EJECUTIVO";

                    ContactoDataAccess.Guardar(direc);
                }

                if (entrada.desvinculacion.cantidad_desvinculacion != null)
                {
                    RespuestaEntity  rvl = RespuestaDataAccess.ObtenerEntidades().Find(x => x.pregunta_id == 15 && x.nuberespuesta_id == Convert.ToInt32(entrada.desvinculacion.tipo_conteo_desvinculacion));
                    DesarrolloEntity desarrolloFormulario = DesarrolloDataAccess.ObtenerEntidades().Find(y => y.encabezado_id == enx.enc_id && (y.respuesta_id == 26 || y.respuesta_id == 27));

                    if (desarrolloFormulario == null)
                    {
                        desarrolloFormulario = new DesarrolloEntity();
                    }
                    desarrolloFormulario.encabezado_id = enx.enc_id;
                    desarrolloFormulario.respuesta_id  = rvl.resp_id;
                    desarrolloFormulario.texto         = entrada.desvinculacion.cantidad_desvinculacion;
                    DesarrolloDataAccess.Guardar(desarrolloFormulario);
                }

                if (entrada.agenda.fecha_prox_reunion != null)
                {
                    AgendaEntity lg = AgendaDataAccess.ObtenerEntidades().Find(d => d.encabezado_id == enx.enc_id);
                    if (lg == null)
                    {
                        lg = new AgendaEntity();
                    }

                    lg.encabezado_id      = enx.enc_id;
                    lg.fecha              = Convert.ToDateTime(entrada.agenda.fecha_prox_reunion);
                    lg.estamento          = entrada.agenda.estamento;
                    lg.nombre_funcionario = entrada.agenda.nombre_funcionario_empresa;
                    lg.cargo_funcionario  = entrada.agenda.cargo_funcionario_empresa;

                    AgendaDataAccess.Guardar(lg);
                }

                entrada.data.ToList().ForEach(v =>
                {
                    if (v.valor != null)
                    {
                        RespuestaEntity resval = new RespuestaEntity();
                        string texti           = "";
                        if (v.tipo == "texto")
                        {
                            resval = RespuestaDataAccess.ObtenerEntidades().Find(x => x.pregunta_id == v.id && x.nuberespuesta_id == 1);
                            texti  = v.valor;
                        }
                        else
                        {
                            resval = RespuestaDataAccess.ObtenerEntidades().Find(x => x.pregunta_id == v.id && x.nuberespuesta_id.ToString() == v.valor);
                        }
                        DesarrolloEntity desarrolloFormulario = DesarrolloDataAccess.ObtenerEntidades().Find(y => y.encabezado_id == enx.enc_id && y.respuesta_id == resval.resp_id);

                        if (desarrolloFormulario == null)
                        {
                            desarrolloFormulario = new DesarrolloEntity();
                        }

                        desarrolloFormulario.encabezado_id = enx.enc_id;
                        desarrolloFormulario.respuesta_id  = resval.resp_id;
                        desarrolloFormulario.texto         = texti;

                        DesarrolloDataAccess.Guardar(desarrolloFormulario);
                    }
                });

                return(new ResultadoBase()
                {
                    Estado = "OK", Mensaje = "Ficha Guardada con éxito!", Objeto = entrada
                });
            }catch (Exception ex) {
                return(new ResultadoBase()
                {
                    Estado = "Error", Mensaje = "Error", Objeto = ex
                });
            }
        }