コード例 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            RespuestaSolicitud respuestaSolicitud = db.RespuestaSolicituds.Find(id);

            db.RespuestaSolicituds.Remove(respuestaSolicitud);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #2
0
        // GET: RespuestaSolicitud/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RespuestaSolicitud respuestaSolicitud = db.RespuestaSolicituds.Find(id);

            if (respuestaSolicitud == null)
            {
                return(HttpNotFound());
            }
            return(View(respuestaSolicitud));
        }
コード例 #3
0
        public ActionResult Edit([Bind(Include = "id,solicitudId,departamentoId,estatusId,observaciones,usuarioId,fechaCreacion")] RespuestaSolicitud respuestaSolicitud)
        {
            if (ModelState.IsValid)
            {
                Usuario usuario = Session["UsuarioData"] as Usuario;

                respuestaSolicitud.fechaCreacion   = DateTime.Now;
                respuestaSolicitud.usuarioId       = usuario.Id;
                db.Entry(respuestaSolicitud).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.estatusId      = new SelectList(db.Conceptos, "id", "grupo", respuestaSolicitud.estatusId);
            ViewBag.departamentoId = new SelectList(db.Departamentos, "id", "descripcion", respuestaSolicitud.departamentoId);
            ViewBag.solicitudId    = new SelectList(db.Solicituds, "id", "folioSolicitud", respuestaSolicitud.solicitudId);
            ViewBag.usuarioId      = new SelectList(db.Usuarios, "Id", "nombreUsuario", respuestaSolicitud.usuarioId);
            return(View(respuestaSolicitud));
        }
コード例 #4
0
        // GET: RespuestaSolicitud/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RespuestaSolicitud respuestaSolicitud = db.RespuestaSolicituds.Find(id);

            if (respuestaSolicitud == null)
            {
                return(HttpNotFound());
            }
            ViewBag.estatusId      = new SelectList(db.Conceptos, "id", "grupo", respuestaSolicitud.estatusId);
            ViewBag.departamentoId = new SelectList(db.Departamentos, "id", "descripcion", respuestaSolicitud.departamentoId);
            ViewBag.solicitudId    = new SelectList(db.Solicituds, "id", "folioSolicitud", respuestaSolicitud.solicitudId);
            ViewBag.usuarioId      = new SelectList(db.Usuarios, "Id", "nombreUsuario", respuestaSolicitud.usuarioId);
            return(View(respuestaSolicitud));
        }
コード例 #5
0
        public ActionResult Create([Bind(Include = "id,solicitudId,departamentoId,estatusId,observaciones,usuarioId,fechaCreacion")] RespuestaSolicitud respuestaSolicitud)
        {
            if (ModelState.IsValid)
            {
                Usuario usuario = Session["UsuarioData"] as Usuario;
                respuestaSolicitud.fechaCreacion = DateTime.Now;
                respuestaSolicitud.usuarioId     = usuario.Id;
                db.RespuestaSolicituds.Add(respuestaSolicitud);
                db.SaveChanges();


                Departamento departamento = db.Departamentos.Find(respuestaSolicitud.departamentoId);
                Solicitud    solicitud    = db.Solicituds.Find(respuestaSolicitud.solicitudId);

                if (departamento.descripcion.Contains("Juridico"))
                {
                    solicitud.estatusJuridico = respuestaSolicitud.estatusId;
                }
                else if (departamento.descripcion.Contains("Nomina"))
                {
                    solicitud.estatusNomina = respuestaSolicitud.estatusId;
                }
                else if (departamento.descripcion.Contains("IMSS"))
                {
                    solicitud.estatusAfiliado = respuestaSolicitud.estatusId;
                }
                else if (departamento.descripcion.Contains("Tarjeta"))
                {
                    solicitud.estatusTarjeta = respuestaSolicitud.estatusId;
                }
                db.Entry(solicitud).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index", "PanelSolicitud"));
            }
            ViewBag.estatusId      = new SelectList(db.Conceptos, "id", "grupo", respuestaSolicitud.estatusId);
            ViewBag.departamentoId = new SelectList(db.Departamentos, "id", "descripcion", respuestaSolicitud.departamentoId);
            ViewBag.solicitudId    = new SelectList(db.Solicituds, "id", "folioSolicitud", respuestaSolicitud.solicitudId);
            ViewBag.usuarioId      = new SelectList(db.Usuarios, "Id", "nombreUsuario", respuestaSolicitud.usuarioId);

            return(View(respuestaSolicitud));
        }
コード例 #6
0
        // GET: RespuestaSolicitud/Create
        public ActionResult Create(string departId, string folioSolicitudId)
        {
            int          folioSolicitudTempId = int.Parse(folioSolicitudId);
            Departamento dep = new Departamento();

            if (departId.Equals("N"))
            {
                dep = db.Departamentos.Where(d => d.descripcion.Contains("Nomina")).FirstOrDefault();
            }
            else if (departId.Equals("I"))
            {
                dep = db.Departamentos.Where(d => d.descripcion.Contains("IMSS")).FirstOrDefault();
            }
            else if (departId.Equals("J"))
            {
                dep = db.Departamentos.Where(d => d.descripcion.Contains("Juridico")).FirstOrDefault();
            }
            else if (departId.Equals("T"))
            {
                dep = db.Departamentos.Where(d => d.descripcion.Contains("Tarjeta de Credito")).FirstOrDefault();
            }

            Solicitud solicitud = db.Solicituds.Find(folioSolicitudTempId);

            //Creamos objeto del tipo que la vista espera.
            RespuestaSolicitud respuestaSolicitud = new RespuestaSolicitud();

            respuestaSolicitud.solicitudId    = solicitud.id;
            respuestaSolicitud.Solicitud      = solicitud;
            respuestaSolicitud.departamentoId = dep.id;
            respuestaSolicitud.Departamento   = dep;

            ViewBag.estatusId      = new SelectList(db.Conceptos, "id", "grupo");
            ViewBag.departamentoId = new SelectList(db.Departamentos, "id", "descripcion");
            ViewBag.usuarioId      = new SelectList(db.Usuarios, "Id", "nombreUsuario");
            return(View(respuestaSolicitud));
        }
コード例 #7
0
        public IHttpActionResult responderSolicitud(RespuestaSolicitud respuesta)
        {
            //buscar solicitud
            if (respuesta.idSolicitud > 0)
            {
                solicitudes solicitud = db.solicitudes.Find(respuesta.idSolicitud);

                if (solicitud != null)
                {
                    if (respuesta.respuesta)
                    {
                        //solicitud es aceptada
                        carreras carrera = db.carreras.Find(solicitud.idCarrera);
                        taxistas taxista = db.taxistas.Find(respuesta.idTaxista);
                        if (carrera != null || taxista != null)
                        {
                            //buscar que la carrera no haya sido aceptada por nadie
                            if (carrera.idTaxista == null)
                            {
                                //ELIMINAR todas las demas solicitudes para esta carrera
                                var solicitudesCarrera = db.solicitudes.Where(x => x.idCarrera == carrera.idCarrera && x.idSolicitud != solicitud.idSolicitud);
                                db.solicitudes.RemoveRange(solicitudesCarrera);
                                                                
                                //aceptar solicitud
                                if (respuesta.idTaxista == solicitud.idTaxista)
                                {
                                    solicitud.idEstadoSolicitud = 41;   //aceptada;
                                    carrera.idTaxista = respuesta.idTaxista;
                                    carrera.fechaInicioCarrera = DateTime.Now;
                                    carrera.idEstado = 71;  //en curso
                                    db.Entry(solicitud).State = EntityState.Modified;

                                    string msj;
                                    //ClientesAPIController clientes = new ClientesAPIController();                                  

                                    //msj = clientes.getNotificacionesCliente((int)carrera.idCliente).ToString();
                                    List<notificacionCliente> notificaciones = clientes.getNotificaciones((int)carrera.idCliente);
                                    var json = JsonConvert.SerializeObject(notificaciones);
                                    Push envios = new Push(json);
                                    envios.EnviarClientes((int)carrera.idCliente);
                                }
                                else
                                {
                                    return BadRequest("Esta solicitud no fue hecha para usted");
                                }

                                //guardar cambios
                                try
                                {
                                    db.SaveChangesAsync();

                                    //creando notificacion para cliente
                                    clientes.crearNotificaciones(idCarrera: carrera.idCarrera);

                                    return Ok("Su solicitud ha sido aceptada");
                                }
                                catch(Exception e)
                                {
                                    return BadRequest("No se ha podido guardar cambios");
                                }
                            }
                            else
                            {
                                return BadRequest("Esta carrera ya esta siendo atendida");
                            }
                        }
                        else
                        {
                            return BadRequest("Esta carrera no existe");
                        }
                        
                    }
                    else  //solicitud es rechazada
                    {
                        solicitud.idEstadoSolicitud = 31;//Rechazada
                        db.Entry(solicitud).State = EntityState.Modified;

                        try
                        {
                            db.SaveChangesAsync();
                            return Ok("Solicitud rechazada");
                        }
                        catch
                        {
                            return BadRequest("No se ha podido guardar el cambio");
                        }
                    }
                }
                else
                {
                    return BadRequest("La solicitud no existe");
                }
            }
            else
            {
                return BadRequest("La solicitud no existe");
            }
        }
コード例 #8
0
        public void enviarComprobante()
        {
            if (this.comprobante == null)
            {
                return;
            }
            Nasti.Datos.Utiles.UtilesElectronico util = new Nasti.Datos.Utiles.UtilesElectronico();
            this.comprobante = new FacturaServicio().getComprobante(this.comprobante.CODIGOCOMPROBANTE);
            FormProgressBar progress = new FormProgressBar();

            progress.setTexto("Generando XML");
            progress.Show();
            LlenarInformacionTributaria(comprobante.TIPOCOMPROBANTE.VERSION);
            byte[] archivo = util.serializar(factura);
            progress.setTexto("Firmando comprobante");
            progress.Update();
            byte[] archivoFirmado = util.firmarArchivo(archivo, comprobante.EMPRESA.CLAVEFIRMA, comprobante.EMPRESA.CODIGOEMPRESA, comprobante.EMPRESA.FIRMAELECTRONICA, comprobante.EMPRESA.PROVEEDORCERTIFICADO.SIGLA, comprobante.EMPRESA.RUC);
            if (archivoFirmado == null)

            {
                XtraMessageBox.Show("Error en el proceso de firmado. Contactese con el administrador del sistema");
                return;
            }
            if (comprobante == null || archivoFirmado == null || comprobante.CLAVEDEACCESO == null)
            {
                return;
            }
            GeneralServicio generalServicio = new GeneralServicio();
            PARAMETRO       parametroSRI    = generalServicio.getParametro(comprobante.EMPRESA.CODIGOEMPRESA, "ENVIAR_SRI");

            if (parametroSRI != null)
            {
                if (parametroSRI.VALORSTRING.Equals("S"))
                {
                    EnvioComprobantesWs envio = new EnvioComprobantesWs();
                    progress.setTexto("Enviando al SRI.");
                    envio.obtenerRespuestaEnvio(archivoFirmado, comprobante.EMPRESA.RUC, comprobante.TIPOCOMPROBANTE.CODIGOSRI, comprobante.CLAVEDEACCESO.ToString());
                    this.respuestaSolicitud    = envio.getRespuestaSolicitud();
                    this.respuestaAutorizacion = envio.getRespuestaAutorizacion();
                    progress.setTexto("Autorizando comprobante.");
                    progress.Update();
                    if (respuestaSolicitud.getEstado().Equals("RECIBIDA"))
                    {
                        comprobante.ESTADO = (int)EnumEstadoComprobante.RECIBIDOSRI;
                        envio.autorizarComprobante(comprobante.CLAVEDEACCESO);
                        if (envio.getRespuestaAutorizacion().getAutorizaciones() != null)
                        {
                            envio.autorizarComprobante(comprobante.CLAVEDEACCESO);
                        }
                        if (envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getEstado().Equals("AUTORIZADO"))
                        {
                            comprobante.CODIGOESTADOCOMPROBANTE = (long)EnumEstadoComprobante.AUTORIZADO;
                            XMLGregorianCalendar fec = envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getFechaAutorizacion();
                            comprobante.FECHAAUTORIZACION = new DateTime(fec.getYear(), fec.getMonth(), fec.getDay(), fec.getHour(), fec.getMinute(), fec.getSecond());
                            comprobante.ARCHIVOAUTORIZADO = System.Text.Encoding.UTF8.GetBytes(envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getComprobante());
                        }
                        else
                        {
                            comprobante.CODIGOESTADOCOMPROBANTE = (long)EnumEstadoComprobante.NOAUTORIZADO;
                            comprobante.NOVEDAD = envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getMensajes().getMensaje()[0].getMensaje();
                        }
                        progress.setTexto("Actualizando comprobante en el sistema");
                        progress.Update();
                        facturaServicio.actualizarComprobante(comprobante);
                        if (facturaServicio.ErrorNasti != null)
                        {
                            XtraMessageBox.Show(facturaServicio.ErrorNasti.Error);
                        }
                        //XtraMessageBox.Show("Existe un inconveniente al autorizar el comprobante");
                    }
                    else if (respuestaSolicitud.getEstado().Equals("DEVUELTA"))
                    {
                        if (respuestaSolicitud.getComprobantes().getComprobante()[0].getMensajes().getMensaje()[0].getIdentificador().Equals("43"))
                        {
                            if (respuestaSolicitud.getComprobantes().getComprobante()[0].getClaveAcceso().Equals(comprobante.CLAVEDEACCESO))
                            {
                                try
                                {
                                    progress.setTexto("Extrayendo nuevamente comprobante autorizado");
                                    envio.autorizarComprobante(comprobante.CLAVEDEACCESO);
                                    this.respuestaAutorizacion = envio.getRespuestaAutorizacion();
                                    if (envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getEstado().Equals("AUTORIZADO"))
                                    {
                                        progress.setTexto("COMPROBANTE AUTORIZADO");
                                        progress.Update();
                                        comprobante.CODIGOESTADOCOMPROBANTE = (long)EnumEstadoComprobante.AUTORIZADO;
                                        XMLGregorianCalendar fec = envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getFechaAutorizacion();
                                        comprobante.FECHAAUTORIZACION = new DateTime(fec.getYear(), fec.getMonth(), fec.getDay(), fec.getHour(), fec.getMinute(), fec.getSecond());
                                        comprobante.ARCHIVOAUTORIZADO = new XStreamUtil().getResuestaStream(System.Text.Encoding.UTF8.GetBytes(envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getComprobante()), comprobante.CLAVEDEACCESO, comprobante.FECHAAUTORIZACION.ToString(), comprobante.ESTADOCOMPROBANTE.DESCRIPCION);
                                        //enviar correo

                                        progress.setTexto("Enviando por correo.");
                                        progress.Update();
                                        this.enviarCorreo();
                                    }
                                    else
                                    {
                                        comprobante.CODIGOESTADOCOMPROBANTE = (long)EnumEstadoComprobante.NOAUTORIZADO;
                                        comprobante.NOVEDAD = envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getMensajes().getMensaje()[0].getMensaje();
                                    }
                                    progress.setTexto("Actualizando el comprobante en el sistema");
                                    new FacturaServicio().actualizarComprobante(comprobante);
                                    progress.Update();
                                }
                                catch (Exception ex)
                                {
                                    XtraMessageBox.Show(ex.ToString());
                                    return;
                                }
                            }
                        }
                        else
                        {
                            XtraMessageBox.Show(respuestaSolicitud.getComprobantes().getComprobante()[0].getMensajes().getMensaje()[0].getMensaje());
                        }
                    }
                }
            }
            else
            {
                XtraMessageBox.Show("NO EXISTE PARAMETRO GENERAR_SRI");
            }

            progress.Close();
        }