Example #1
0
        public List <Cancelacion> GetAllCancelaciones(int Estado)
        {
            System.Data.SqlClient.SqlConnection conn;
            SqlCommand    command;
            SqlDataReader read;
            var           conString = System.Configuration.
                                      ConfigurationManager.ConnectionStrings["HorasBecaAPI"];
            string strConnString = conString.ConnectionString;

            conn = new SqlConnection(strConnString);
            conn.Open();
            List <Cancelacion> ListSolicitud = new List <Cancelacion>();

            command = new SqlCommand("select S.IdSolicitud ,S.IdCarnet , S.Observacion, TB.Nombre, E.primer_nombre, E.segundo_nombre , E.primer_apellido, E.segundo_apellido from Solicitud as S inner join estudiantes as E on E.carne = S.IdCarnet  inner join Formulario as F on S.IdFormulario = F.IdFormulario inner join TipoBeca as TB on TB.IdTipoBeca = F.IdTipoBeca where S.[Delete] = 0 and S.IdEstado = " + Estado.ToString(), conn);
            read    = command.ExecuteReader();
            while (read.Read())
            {
                Cancelacion sol = new Cancelacion();
                sol.IdCarnet    = read["IdCarnet"].ToString();
                sol.TBNombre    = read["Nombre"].ToString();
                sol.Nombre1     = read["primer_nombre"].ToString();
                sol.Nombre2     = read["segundo_nombre"].ToString();
                sol.Apellido1   = read["primer_apellido"].ToString();
                sol.Apellido2   = read["segundo_apellido"].ToString();
                sol.Observacion = read["Observacion"].ToString();
                sol.IdSolicitud = Convert.ToInt32(read["IdSolicitud"]);

                ListSolicitud.Add(sol);
            }
            read.Close();


            conn.Close();
            return(ListSolicitud);
        }
Example #2
0
    protected void DataListFotosDanos_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName == "elimina")
        {
            lblError.Text = "";

            try
            {
                string[]    valores     = e.CommandArgument.ToString().Split(';');
                string      id_producto = Convert.ToString(valores[0]);
                int         id_imagen   = Convert.ToInt32(valores[1]);
                Cancelacion elm         = new Cancelacion();

                bool eliminado = elm.eliminaAdjunto(id_producto, id_imagen);
                if (eliminado)
                {
                    DataListFotosDanos.DataBind();
                }
                else
                {
                    lblError.Text = "La imagen no se logro eliminar, verifique su conexión e intentelo nuevamente mas tarde";
                }
            }
            catch (Exception x)
            {
                lblError.Text = "La carga de las imagenes no se logró por un error inesperado: " + x.Message;
            }
        }
    }
Example #3
0
    private void procesaCancelacionPieza(Cancelacion cancelacion, string[] argumentos)
    {
        try
        {
            bool cancelado = false;
            try { cancelado = Convert.ToBoolean(Session["completado"]); }
            catch (Exception ex) { cancelado = true; lblError.Text = "Error: " + ex.Message; }

            if (!cancelado)
            {
                cancelacion.agregaCancelacionPieza(argumentos);
                if (Convert.ToBoolean(cancelacion.retorno[0]))
                {
                    lblError.Text = "Cancelacion realizada. No. de Cancelación: " + Convert.ToInt32(cancelacion.retorno[1]);
                }
                else
                {
                    lblError.Text = "No se pudo realizar la cancelación: " + cancelacion.retorno[1].ToString();
                }
            }
            else
            {
                lblError.Text = "Este producto ya fue cancelado con anterioridad";
            }
        }
        catch (Exception ex) { lblError.Text = "No se pudo realizar la cancelación: " + ex.Message; }
        finally {
            lblErrorCantidad.Text    = "";
            RadCantidadCancela.Value = 0;
            PanelMask.Visible        = pnlTicket.Visible = false;
        }
    }
        public async Task <IActionResult> Edit(int id, [Bind("IdRazonCancelacion,IdOrden,IdCancelacion,Glosa,Estado")] Cancelacion cancelacion)
        {
            if (id != cancelacion.IdRazonCancelacion)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(cancelacion);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CancelacionExists(cancelacion.IdRazonCancelacion))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdCancelacion"] = new SelectList(_context.RazonCancelacion, "IdRazonCancelacion", "Nombre", cancelacion.IdCancelacion);
            ViewData["IdOrden"]       = new SelectList(_context.Orden, "IdOrden", "IdOrden", cancelacion.IdOrden);
            return(View(cancelacion));
        }
Example #5
0
        public ActionResult DeleteConfirmed(int id)
        {
            Cancelacion cancelacion = db.Cancelacion.Find(id);

            db.Cancelacion.Remove(cancelacion);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        internal void ActualizarEstadoReservaACancelada(Usuario usuario, Cancelacion cancelacion)
        {
            var query = String.Format(@"UPDATE GD2C2014.LA_REVANCHA.RESERVA " +
                                      "SET RES_ESTRES_CODIGO = '{0}' " +
                                      "WHERE RES_CODIGO = '{1}'", usuario.tipo == "CLIENTE" ?
                                      new Decimal(4003) : new Decimal(4002), cancelacion.codigoReserva);

            SQLUtils.EjecutarConsultaConEfectoDeLado(query);
        }
Example #7
0
 public ActionResult Edit([Bind(Include = "Id,turno_id,detalle_cancel,fecha_cancel,tipo_cancel_id,createdon,createdby,changedon,changedby")] Cancelacion cancelacion)
 {
     if (ModelState.IsValid)
     {
         db.Entry(cancelacion).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.tipo_cancel_id = new SelectList(db.TipoCancelacion, "Id", "descripcion", cancelacion.tipo_cancel_id);
     ViewBag.turno_id       = new SelectList(db.Turno, "Id", "Observaciones", cancelacion.turno_id);
     return(View(cancelacion));
 }
Example #8
0
        // GET: Cancelacion/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Cancelacion cancelacion = db.Cancelacion.Find(id);

            if (cancelacion == null)
            {
                return(HttpNotFound());
            }
            return(View(cancelacion));
        }
        public IResultado <Cancelacion> Cancelar(Cancelacion c)
        {
            Resultado <Cancelacion> resultado = new Resultado <Cancelacion>();

            try
            {
                _dal.RegistrarCancelacion(c);
                resultado.Retorno = c;
            }
            catch (Exception ex)
            {
                resultado.Correcto = false;
                resultado.Mensajes.Add(ex.Message);
            }
            return(resultado);
        }
Example #10
0
        // GET: Cancelacion/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Cancelacion cancelacion = db.Cancelacion.Find(id);

            if (cancelacion == null)
            {
                return(HttpNotFound());
            }
            ViewBag.tipo_cancel_id = new SelectList(db.TipoCancelacion, "Id", "descripcion", cancelacion.tipo_cancel_id);
            ViewBag.turno_id       = new SelectList(db.Turno, "Id", "Observaciones", cancelacion.turno_id);
            return(View(cancelacion));
        }
Example #11
0
        /// <summary>
        ///     Cancela un comprobante con el PAC
        /// </summary>
        /// <param name="url">URL del PAC (produccion o pruebas)</param>
        /// <param name="token">Token definido para la empresa (produccion o pruebas)</param>
        /// <param name="postBody">Información en JSON a emitir al PAC</param>
        /// <param name="produccion">Ambiente de producción (true) o de pruebas (false)</param>
        /// <param name="idefac">Id de la factura a cancelar</param>
        /// <returns>El objeto coteniendo los valores de cancelacion</returns>
        private async Task <Cancelacion> ProcesarCancelacion(string url, string token, string postBody, bool produccion, string idefac)
        {
            var         httpClient  = new HttpClient();
            Cancelacion cancelacion = null;
            var         response    = "";

            try
            {
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                httpClient.DefaultRequestHeaders.Add("Token", token);
                var wcfResponse = await httpClient.PostAsync(url, new StringContent(postBody, Encoding.UTF8, "application/json")).ConfigureAwait(false);

                response = await wcfResponse.Content.ReadAsStringAsync();

                Log("ProcesarCancelacion-response=" + response);
                var result = (Dictionary <string, object>) new JavaScriptSerializer().DeserializeObject(response);
                if (wcfResponse.IsSuccessStatusCode)
                {
                    cancelacion = new Cancelacion
                    {
                        Uuid      = result["uuid"].ToString(),
                        AnioMes   = result["anioMes"].ToString(),
                        Ambiente  = produccion,
                        IdFactura = idefac
                    };
                    Log("ProcesarCancelacion-comprobante-Uuid=" + cancelacion.Uuid);
                    Log("ProcesarCancelacion-comprobante-AnioMes=" + cancelacion.AnioMes);
                    cancelacion.MonitoreaStatus();
                }
                else
                {
                    LastError = result["mensaje"].ToString();
                    Log("ProcesarCancelacion-LastError=" + LastError);
                }
            }
            catch
            {
                var result = (object[])new JavaScriptSerializer().DeserializeObject(response);
                LastError = ((Dictionary <string, object>)result.First())["mensaje"].ToString();
                Log("ProcesarCancelacion-LastError=" + LastError);
            }
            finally
            {
                httpClient.Dispose();
            }
            return(cancelacion);
        }
Example #12
0
    public void generaCancelacionCompleta(Cancelacion cancelacion, System.Data.DataTable dtd)
    {
        int    entFolioID = -1;
        string respuesta  = "";

        try
        {
            SqlConnection sqlConn = ConeccSql();
            using (sqlConn)
            {
                sqlConn.Open();
                using (SqlCommand sqlComm = new SqlCommand("cancelaciones", sqlConn))
                {
                    sqlComm.CommandType = CommandType.StoredProcedure;
                    sqlComm.Parameters.AddWithValue("@idAlmacen", cancelacion.punto).DbType       = DbType.Int16;
                    sqlComm.Parameters.AddWithValue("@idPunto", cancelacion.punto).DbType         = DbType.Int16;
                    sqlComm.Parameters.AddWithValue("@caja", cancelacion.caja).DbType             = DbType.Int32;
                    sqlComm.Parameters.AddWithValue("@ticket", cancelacion.ticket).DbType         = DbType.Int32;
                    sqlComm.Parameters.AddWithValue("@usuario", cancelacion.usuario).DbType       = DbType.String;
                    sqlComm.Parameters.AddWithValue("@cajaTicket", cancelacion.cajaTicket).DbType = DbType.Int32;
                    sqlComm.Parameters.AddWithValue("@fecha", fechas.obtieneFechaLocal().ToString("yyyy-MM-dd HH:mm:ss")).DbType = DbType.String;
                    sqlComm.Parameters.AddWithValue("@datos", dtd);
                    sqlComm.Parameters.Add("@respuesta", SqlDbType.VarChar, 200).Direction = ParameterDirection.Output;
                    sqlComm.ExecuteNonQuery();
                    try
                    {
                        entFolioID = Convert.ToInt32(sqlComm.Parameters["@respuesta"].Value);
                        respuesta  = entFolioID.ToString();
                        retorno[0] = true;
                        retorno[1] = respuesta;
                    }
                    catch (Exception) {
                        respuesta  = Convert.ToString(sqlComm.Parameters["@respuesta"].Value);
                        retorno[0] = false;
                        retorno[1] = respuesta;
                    }
                }
            }
            sqlConn.Close();
        }
        catch (Exception e)
        {
            respuesta  = e.Message;
            retorno[0] = false;
            retorno[1] = respuesta;
        }
    }
Example #13
0
        private static void VerificarReservaCancelada(Decimal codReserva, Usuario user)
        {
            Cancelacion cancel = RepositorioReserva.Instance.VerificarCancelacion(codReserva, user);

            if (cancel.codigo != -1)
            {
                MessageBox.Show("No se ha encontrado la Reserva correspondiente\n" +
                                "al Código de Usuario ingresado.\n" +
                                "Por favor, verifique los datos ingresados.", "Atención", MessageBoxButtons.OK);
            }
            else
            {
                MessageBox.Show("La reserva ya ha sido cancelada el día: " + cancel.fechaCancelacion.ToString() +
                                "\nEl código de cancelación es: " + cancel.codigo.ToString() + "."
                                , "Atención", MessageBoxButtons.OK);
            }
        }
        public async Task <IActionResult> Create([Bind("IdRazonCancelacion,IdOrden,IdCancelacion,Glosa,Estado")] Cancelacion cancelacion)
        {
            if (ModelState.IsValid)
            {
                var ordenCancelada = _context.Orden.Where(orden => orden.IdOrden == cancelacion.IdOrden).First();
                ordenCancelada.Estado = (int)Orden.Estados.Cancelado;
                _context.Update(ordenCancelada);

                _context.Add(cancelacion);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdCancelacion"] = new SelectList(_context.RazonCancelacion, "IdRazonCancelacion", "Nombre", cancelacion.IdCancelacion);
            ViewData["IdOrden"]       = new SelectList(_context.Orden, "IdOrden", "IdOrden", cancelacion.IdOrden);
            return(View(cancelacion));
        }
        internal Cancelacion VerificarCancelacion(Decimal cod, Usuario user)
        {
            var query = String.Format(@"SELECT * FROM GD2C2014.LA_REVANCHA.CANCELACION " +
                                      "WHERE CANC_COD_RESERVA = '{0}' AND CANC_COD_RESERVA IN " +
                                      "(SELECT RESUSU_COD_RESERVA FROM GD2C2014.LA_REVANCHA.RESERVA_USUARIO " +
                                      "WHERE RESUSU_CODUSU_HUESPED = '{1}')", cod, user.codigo);

            DataRowCollection dataRow = SQLUtils.EjecutarConsultaSimple(query, "GD2C2014.LA_REVANCHA.CANCELACION");

            Cancelacion cancelacion = new Cancelacion(-1);

            if (dataRow.Count > 0)
            {
                cancelacion = (dataRow.ToList <Cancelacion>(this.dataRowToCancelacion)).First();
            }

            return(cancelacion);
        }
        internal void RealizarCancelacion(Cancelacion cancelacion)
        {
            var query = String.Format(@"INSERT INTO GD2C2014.LA_REVANCHA.CANCELACION " +
                                      "(CANC_COD_RESERVA, CANC_MOTIVO, CANC_FECHA, CANC_COD_USUARIO) " +
                                      "VALUES ('{0}', '{1}', '{2}', '{3}')", cancelacion.codigoReserva,
                                      cancelacion.motivo, DBTypeConverter.ToSQLDateTime(FechaSistema.Instance.fecha),
                                      cancelacion.codigoUsuario);

            SQLUtils.EjecutarConsultaConEfectoDeLado(query);

            var consultaCodigoCancelacion = String.Format(@"SELECT TOP 1 CANC_CODIGO FROM GD2C2014.LA_REVANCHA.CANCELACION " +
                                                          "ORDER BY CANC_CODIGO DESC");

            DataRowCollection dataRow = SQLUtils.EjecutarConsultaSimple(consultaCodigoCancelacion,
                                                                        "GD2C2014.LA_REVANCHA.CANCELACION");

            cancelacion.codigo = (dataRow.ToList <Decimal>(row => Decimal.Parse(row["CANC_CODIGO"].ToString()))).First();
        }
Example #17
0
        private void AceptarBoton_Click(object sender, EventArgs e)
        {
            if (this.MotivoRichTextBox.Text != "")
            {
                Cancelacion cancelacion = new Cancelacion(this.MotivoRichTextBox.Text, reserva.identificador, usuario.codigo);
                RepositorioReserva.Instance.RealizarCancelacion(cancelacion);
                RepositorioReserva.Instance.ActualizarEstadoReservaACancelada(usuario, cancelacion);
                MessageBox.Show("Su código de cancelación es: " + cancelacion.codigo.ToString(),
                                "Informe", MessageBoxButtons.OK);

                RepositorioHabitacion.Instance.CancelarReserva(reserva);

                this.Close();
            }
            else
                MessageBox.Show("Debe ingresar un motivo\n" +
                                "por el cual realiza la cancelacion.", "Atención", MessageBoxButtons.OK);
        }
Example #18
0
        private void VerificarQueNoEsteCancelada()
        {
            Decimal     codigoReserva = Decimal.Parse(this.codigoReservaTextBox.Text);
            Cancelacion cancel        = RepositorioReserva.Instance.VerificarCancelacion(codigoReserva, usuario);

            if (cancel.codigo < 0)
            {
                MessageBox.Show("La reserva no ha sido encontrada o usted no es el responsable de la misma.\n" +
                                "Asegurese de ingresar el código correctamente.\n", "Atención", MessageBoxButtons.OK);
            }
            else
            {
                MessageBox.Show("La reserva ya ha sido cancelada el día: " + cancel.fechaCancelacion.ToString() +
                                "\nEl código de cancelación es: " + cancel.codigo.ToString() + "."
                                , "Atención", MessageBoxButtons.OK);

                this.Close();
            }
        }
Example #19
0
 protected void lnkAceptarCant_Click(object sender, EventArgs e)
 {
     lblErrorCantidad.Text = "";
     try {
         decimal     cantidad    = 0;
         Cancelacion cancelacion = (Cancelacion)Session["cancelacion"];
         string[]    argumentos  = (string[])Session["argumentosCancela"];
         if (RadCantidadCancela.Value == 0)
         {
             lblErrorCantidad.Text = "La cantidad no puede ser cero";
         }
         else
         {
             cantidad      = Convert.ToDecimal(RadCantidadCancela.Value);
             argumentos[2] = cantidad.ToString();
             procesaCancelacionPieza(cancelacion, argumentos);
         }
     }
     catch (Exception ex) { lblErrorCantidad.Text = "Error: " + ex.Message; }
 }
Example #20
0
        private void AceptarBoton_Click(object sender, EventArgs e)
        {
            if (this.MotivoRichTextBox.Text != "")
            {
                Cancelacion cancelacion = new Cancelacion(this.MotivoRichTextBox.Text, reserva.identificador, usuario.codigo);
                RepositorioReserva.Instance.RealizarCancelacion(cancelacion);
                RepositorioReserva.Instance.ActualizarEstadoReservaACancelada(usuario, cancelacion);
                MessageBox.Show("Su código de cancelación es: " + cancelacion.codigo.ToString(),
                                "Informe", MessageBoxButtons.OK);

                RepositorioHabitacion.Instance.CancelarReserva(reserva);

                this.Close();
            }
            else
            {
                MessageBox.Show("Debe ingresar un motivo\n" +
                                "por el cual realiza la cancelacion.", "Atención", MessageBoxButtons.OK);
            }
        }
        private void CancelarTurnos()
        {
            IValidador vMotivo = new ValidadorString(textBox2, 1, 255);

            if (vMotivo.Validar())
            {
                StringBuilder sb = new StringBuilder("Se cancelaran los siguientes días: ").Append(Environment.NewLine);
                for (DateTime dia = monthCalendar1.SelectionStart; dia <= monthCalendar1.SelectionEnd; dia = dia.AddDays(1))
                {
                    sb.Append(FechaHelper.Format(dia, FechaHelper.DateFormat)).Append(Environment.NewLine);
                }
                DialogResult ds = MensajePorPantalla.MensajeInterrogativo(this, sb.ToString(), MessageBoxButtons.YesNo);
                if (ds == DialogResult.Yes)
                {
                    for (DateTime dia = monthCalendar1.SelectionStart; dia <= monthCalendar1.SelectionEnd; dia = dia.AddDays(1))
                    {
                        IList <Turno> turnosDelDia = _domain.BuscarTurnos(_profesional.IdProfesional, dia).Retorno;
                        foreach (Turno turno in turnosDelDia)
                        {
                            Cancelacion c = new Cancelacion();
                            c.CanceladoPor      = 'P';
                            c.Fecha             = FechaHelper.Ahora();
                            c.IdTipoCancelacion = ((TipoCancelacion)cbTipo.SelectedItem).IdTipoCancelacion;
                            c.IdTurno           = turno.IdTurno;
                            c.Motivo            = textBox2.Text;

                            IResultado <Cancelacion> resultado = _domain.Cancelar(c);
                            if (!resultado.Correcto)
                            {
                                throw new ResultadoIncorrectoException <Cancelacion>(resultado);
                            }
                        }
                    }
                    MensajePorPantalla.MensajeInformativo(this, "Se han cancelado los turnos");
                    this.Close();
                }
            }
        }
        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                Cancelacion c = new Cancelacion();
                c.Fecha             = FechaHelper.Ahora();
                c.IdTipoCancelacion = ((TipoCancelacion)cbTipo.SelectedItem).IdTipoCancelacion;
                c.IdTurno           = _turno.IdTurno;
                c.Motivo            = tbMotivo.Text;
                c.CanceladoPor      = 'A';

                IResultado <Cancelacion> resultado = _domain.Cancelar(c);
                if (!resultado.Correcto)
                {
                    throw new ResultadoIncorrectoException <Cancelacion>(resultado);
                }
                MensajePorPantalla.MensajeInformativo(this, "Su turno ha sido cancelado con éxito.");
                this.Close();
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(this, ex.Message);
            }
        }
        /// <summary>
        /// creates the cancelacion xml
        /// </summary>
        /// <param name="cancelDocumentParams"></param>
        /// <param name="cancelacion"></param>
        /// <returns></returns>
        private string createCancelationXML(CancelDocumentParams cancelDocumentParams, Cancelacion cancelacion)
        {
            //get FiscalInformation
            X509Certificate2 x509Certificate2 = new X509Certificate2(cancelDocumentParams.CertificateCER);

            //get cancelacion xml
            string xml = SerializerXml.SerializeObject(cancelacion);

            System.Security.Cryptography.Xml.Signature signature = new Cotorra.DigitalSign.DigitalSign().ApplySignature(cancelDocumentParams.CertificateKey,
                                                                                                                        cancelDocumentParams.Password, xml);
            cancelacion.Signature            = new SignatureType();
            cancelacion.Signature.SignedInfo = new SignedInfoType();
            cancelacion.Signature.SignedInfo.CanonicalizationMethod           = new CanonicalizationMethodType();
            cancelacion.Signature.SignedInfo.CanonicalizationMethod.Algorithm = signature.SignedInfo.CanonicalizationMethodObject.Algorithm;
            cancelacion.Signature.SignedInfo.SignatureMethod           = new SignatureMethodType();
            cancelacion.Signature.SignedInfo.SignatureMethod.Algorithm = signature.SignedInfo.SignatureMethod;
            cancelacion.Signature.SignedInfo.Reference = new ReferenceType();
            Reference reference = (Reference)signature.SignedInfo.References[0];

            cancelacion.Signature.SignedInfo.Reference.URI        = reference.Uri;
            cancelacion.Signature.SignedInfo.Reference.Transforms = new List <TransformType>()
            {
                new TransformType()
                {
                    Algorithm = ALGORITHM_TRANSFORMATION
                }
            }.ToArray();
            cancelacion.Signature.SignedInfo.Reference.DigestMethod           = new DigestMethodType();
            cancelacion.Signature.SignedInfo.Reference.DigestMethod.Algorithm = reference.DigestMethod;
            cancelacion.Signature.SignedInfo.Reference.DigestValue            = reference.DigestValue;
            cancelacion.Signature.SignatureValue   = signature.SignatureValue;
            cancelacion.Signature.KeyInfo          = new KeyInfoType();
            cancelacion.Signature.KeyInfo.X509Data = new X509DataType();
            cancelacion.Signature.SignedInfo.Reference.DigestValue = reference.DigestValue;
            cancelacion.Signature.SignatureValue   = signature.SignatureValue;
            cancelacion.Signature.KeyInfo          = new KeyInfoType();
            cancelacion.Signature.KeyInfo.X509Data = new X509DataType();
            cancelacion.Signature.KeyInfo.X509Data.X509IssuerSerial = new X509IssuerSerialType();
            cancelacion.Signature.KeyInfo.X509Data.X509IssuerSerial.X509IssuerName   = x509Certificate2.Issuer;
            cancelacion.Signature.KeyInfo.X509Data.X509IssuerSerial.X509SerialNumber = x509Certificate2.GetSerialNumberString();
            cancelacion.Signature.KeyInfo.X509Data.X509Certificate = x509Certificate2.GetRawCertData();

            //get xml cancelacion
            string xmlCancelacion = SerializerXml.SerializeObject(cancelacion);

            return(xmlCancelacion);
        }
Example #24
0
    protected void lnkCancelacionVenta_Click(object sender, EventArgs e)
    {
        lblError.Text = "";
        try {
            DataTable dt = new DataTable();
            dt.Columns.Add("renglon");
            dt.Columns.Add("id_refacciones");
            dt.Columns.Add("descripcion");
            dt.Columns.Add("cantidad");
            dt.Columns.Add("precio_unitario");
            dt.Columns.Add("importe");
            dt.Columns.Add("cantidad_restante");
            Cancelacion cancelacion = new Cancelacion();
            cancelacion.punto   = Convert.ToInt32(Request.QueryString["p"]);
            cancelacion.caja    = Convert.ToInt32(Request.QueryString["c"]);
            cancelacion.ticket  = Convert.ToInt32(radTicket.Value);
            cancelacion.usuario = Request.QueryString["u"];
            int caja = 0;
            cancelacion.obtieneCajaTicket();
            try
            {
                if (Convert.ToBoolean(cancelacion.retorno[0]))
                {
                    caja = Convert.ToInt32(cancelacion.retorno[1]);
                }
                else
                {
                    caja = 0;
                }
            }
            catch (Exception ex) { caja = 0; }
            if (caja != 0)
            {
                cancelacion.cajaTicket = caja;
                cancelacion.obtieneInfoTicket();
                if (Convert.ToBoolean(cancelacion.retorno[0]))
                {
                    DataSet info = (DataSet)cancelacion.retorno[1];
                    int     i    = 0;
                    foreach (DataRow r in info.Tables[0].Rows)
                    {
                        DataRow dr = dt.NewRow();
                        dr[0] = r[0];
                        dr[1] = r[1];
                        dr[2] = r[2];
                        dr[3] = r[3];
                        dr[4] = r[4];
                        dr[5] = r[7];
                        dr[6] = r[9];
                        dt.Rows.Add(dr);
                        i++;
                    }

                    if (i != 0)
                    {
                        cancelacion.generaCancelacionCompleta(cancelacion, dt);
                        if (Convert.ToBoolean(cancelacion.retorno[0]))
                        {
                            lblError.Text = "Se ha realizado la cancelacion de la venta. No. de cancelacion: " + Convert.ToInt32(cancelacion.retorno[1]);
                        }
                        else
                        {
                            lblError.Text = "No se pudo realizar la cancelacion de la venta. " + Convert.ToString(cancelacion.retorno[1]);
                        }
                    }
                    else
                    {
                        lblError.Text = "Ya se a realizado la cancelación de la venta con anterioridad";
                    }
                }
                else
                {
                    lblError.Text = "Error al intentar hacer la cancelacion. " + cancelacion.retorno[1].ToString();
                }
            }
            else
            {
                lblError.Text = "El ticket indicado no existe o no es el correcto";
            }
        }
        catch (Exception ex) { lblError.Text = "Error: " + ex.Message; }
    }
Example #25
0
    protected void btnCancelar_Click(object sender, EventArgs e)
    {
        lblError.Text = "";
        LinkButton btn = (LinkButton)sender;

        string[] argumentos = btn.CommandArgument.Split(new char[] { ';' });
        Producto prd        = new Producto();

        prd.ClaveProducto = argumentos[1];

        Cancelacion cancelacion = new Cancelacion();

        cancelacion.punto   = Convert.ToInt32(Request.QueryString["p"]);
        cancelacion.caja    = Convert.ToInt32(Request.QueryString["c"]);
        cancelacion.ticket  = Convert.ToInt32(radTicket.Value);
        cancelacion.usuario = Request.QueryString["u"];
        int caja = 0;

        cancelacion.obtieneCajaTicket();
        try
        {
            if (Convert.ToBoolean(cancelacion.retorno[0]))
            {
                caja = Convert.ToInt32(cancelacion.retorno[1]);
            }
            else
            {
                caja = 0;
            }
        }
        catch (Exception ex) { caja = 0; }
        if (caja != 0)
        {
            cancelacion.cajaTicket = caja;
            decimal cantidad = Convert.ToDecimal(argumentos[2]);
            if (cantidad > 0)
            {
                if (chkCancelacion.Checked)
                {
                }
                else
                {
                    if (cantidad > 1)
                    {
                        lblProductoCancelar.Text = argumentos[1] + " - " + argumentos[3];

                        decimal cantidadPrevia   = 0;
                        decimal cantidadFaltante = 0;
                        cancelacion.cantidadCancelacionPrevia(argumentos[1], caja);
                        if (Convert.ToBoolean(cancelacion.retorno[0]))
                        {
                            cantidadPrevia = Convert.ToDecimal(cancelacion.retorno[1]);
                            if (cantidadPrevia >= cantidad)
                            {
                                Session["completado"] = true;
                                lblError.Text         = "El producto ya fue cancelado en su totalidad";
                            }
                            else if (cantidadPrevia != 0)
                            {
                                cantidadFaltante             = cantidad - cantidadPrevia;
                                RadCantidadCancela.MaxValue  = Convert.ToDouble(cantidadFaltante);
                                RadCantidadCancela.Value     = Convert.ToDouble(cantidadFaltante);
                                Session["argumentosCancela"] = argumentos;
                                Session["cancelacion"]       = cancelacion;
                                PanelMask.Visible            = pnlTicket.Visible = true;
                                Session["completado"]        = false;
                            }
                            else if (cantidadPrevia == 0)
                            {
                                RadCantidadCancela.MaxValue  = Convert.ToDouble(cantidad);
                                RadCantidadCancela.Value     = Convert.ToDouble(cantidad);
                                Session["argumentosCancela"] = argumentos;
                                Session["cancelacion"]       = cancelacion;
                                PanelMask.Visible            = pnlTicket.Visible = true;
                                Session["completado"]        = false;
                            }
                        }
                        else
                        {
                            lblError.Text = "Error al obtener informacion previa de cancelaciones. " + Convert.ToString(cancelacion.retorno[1]);
                        }
                    }
                    else if (cantidad <= 1)
                    {
                        Session["completado"] = true;
                        procesaCancelacionPieza(cancelacion, argumentos);
                    }
                }
            }
            else
            {
                lblError.Text = "No es posible realizar la cancelacion del producto ya que no tiene cantidad registrada";
            }
        }
        else
        {
            lblError.Text = "No se encuentra el ticket indicado";
        }
    }
        public string CancelarBloqueCfdi(string directorioLog, string directorioAcuse, Encabezado encLMetadata, string strPPrivada, string pass, string strCertificado, ref SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse cAcuse)
        {
            string result;

            try
            {
                AccesoServicios.Logger.Info("Privada: " + strPPrivada);
                AccesoServicios.Logger.Info("Certificado: " + strCertificado);
                AccesoServicios.Logger.Info("rfc:" + encLMetadata.RfcEmisor);
                AccesoServicios.Logger.Info("fecha:" + encLMetadata.Fecha);
                AccesoServicios.Logger.Info("uuid:" + encLMetadata.LisMListaFolios[0].ToString());
                string strPXmlFirmado = "";
                if (File.Exists(strPPrivada + ".pem"))
                {
                    strPPrivada += ".pem";
                }
                string ext = Path.GetExtension(strPPrivada);
                AccesoServicios.SignXmlFile(this.ArmarXmlPreFirma(encLMetadata), ref strPXmlFirmado, OpensslKey.DecodePrivateKey(File.ReadAllBytes(strPPrivada), pass, ext));
                AccesoServicios.Logger.Info(strPXmlFirmado);
                SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.SignatureType a         = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.SignatureType();
                SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.ReferenceType reference = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.ReferenceType
                {
                    URI = ""
                };
                XmlDsigEnvelopedSignatureTransform env = new XmlDsigEnvelopedSignatureTransform();
                a.SignedInfo = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.SignedInfoType
                {
                    Reference = reference
                };
                string hex = strPXmlFirmado.Substring(strPXmlFirmado.IndexOf("<DigestValue>") + 13, strPXmlFirmado.IndexOf("</DigestValue>") - strPXmlFirmado.IndexOf("<DigestValue>") - 13);
                a.SignedInfo.Reference.DigestValue  = Convert.FromBase64String(hex);
                a.SignedInfo.Reference.DigestMethod = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.DigestMethodType
                {
                    Algorithm = "http://www.w3.org/2000/09/xmldsig#sha1"
                };
                a.SignedInfo.Reference.Transforms = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.TransformType[]
                {
                    new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.TransformType()
                };
                a.SignedInfo.Reference.Transforms[0].Algorithm = "http://www.w3.org/2000/09/xmldsig#enveloped-signature";
                a.SignedInfo.CanonicalizationMethod            = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.CanonicalizationMethodType
                {
                    Algorithm = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315"
                };
                a.SignedInfo.SignatureMethod = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.SignatureMethodType
                {
                    Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1"
                };
                a.SignatureValue = Convert.FromBase64String(strPXmlFirmado.Substring(strPXmlFirmado.IndexOf("<SignatureValue>") + 16, strPXmlFirmado.IndexOf("</SignatureValue>") - strPXmlFirmado.IndexOf("<SignatureValue>") - 16));
                X509Certificate2 x509 = new X509Certificate2(strCertificado);
                a.KeyInfo          = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.KeyInfoType();
                a.KeyInfo.X509Data = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.X509DataType();
                a.KeyInfo.X509Data.X509IssuerSerial = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.X509IssuerSerialType();
                a.KeyInfo.X509Data.X509IssuerSerial.X509IssuerName   = x509.IssuerName.Name.ToString();
                a.KeyInfo.X509Data.X509IssuerSerial.X509SerialNumber = x509.SerialNumber;
                a.KeyInfo.X509Data.X509Certificate = File.ReadAllBytes(strCertificado);
                Console.WriteLine("Enviando Cancelación...");
                string      a2 = a.ToString();
                Cancelacion mensajeCancelacion = new Cancelacion
                {
                    RfcEmisor = encLMetadata.RfcEmisor,
                    Fecha     = Convert.ToDateTime(encLMetadata.Fecha),
                    Signature = a
                };
                mensajeCancelacion.Folios = new CancelacionFolios[encLMetadata.LisMListaFolios.Count];
                for (int i = 0; i < encLMetadata.LisMListaFolios.Count; i++)
                {
                    mensajeCancelacion.Folios[i] = new CancelacionFolios
                    {
                        UUID = encLMetadata.LisMListaFolios[i].ToString()
                    };
                }
                if (mensajeCancelacion.Folios.Count <CancelacionFolios>() > 0)
                {
                    Console.WriteLine("Autenticando...");
                    HttpRequestMessageProperty tokenAutenticacion = this.AutenticaServicio();
                    using (new OperationContextScope(this.ClienteCancelacion.InnerChannel))
                    {
                        OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = tokenAutenticacion;
                        Console.WriteLine("Cancelando...");
                        SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse acuseCancelacion = this.ClienteCancelacion.CancelaCFD(mensajeCancelacion);
                        MemoryStream  acuseStream   = new MemoryStream();
                        XmlSerializer xmlSerializer = new XmlSerializer(typeof(SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse));
                        xmlSerializer.Serialize(acuseStream, acuseCancelacion);
                        acuseStream.Seek(0L, SeekOrigin.Begin);
                        StreamReader acuseReader = new StreamReader(acuseStream);
                        AccesoServicios.Log.Info("Terminando el proceso...");
                        cAcuse = acuseCancelacion;
                        result = acuseReader.ReadToEnd();
                        return(result);
                    }
                }
                result = string.Empty;
                return(result);
            }
            catch (Exception exception)
            {
                AccesoServicios.Log.Error("(CancelarBloqueCfdi) Error al cancelar los CFDI's " + exception.ToString());
            }
            result = "";
            return(result);
        }
Example #27
0
    protected void lnkAdjuntarID_Click(object sender, EventArgs e)
    {
        LinkButton aut = (LinkButton)sender;

        string[] argumentos = aut.CommandArgument.ToString().Split(new char[] { ';' });
        string   OC         = Convert.ToString(argumentos[0]);

        lblError.Text     = "";
        lblError.CssClass = "errores";
        string ruta = Server.MapPath("~/TMP");

        byte[] imagen = null;
        // Si el directorio no existe, crearlo
        if (!Directory.Exists(ruta))
        {
            Directory.CreateDirectory(ruta);
        }
        int archivos = 0, archivosCargado = 0;

        try
        {
            string filename   = "";
            int    documentos = rauAdjuntoID.UploadedFiles.Count;
            archivos = documentos;
            for (int i = 0; i < documentos; i++)
            {
                filename = rauAdjuntoID.UploadedFiles[i].FileName;
                string[] segmenatado   = filename.Split(new char[] { '.' });
                bool     archivoValido = validaArchivo(segmenatado[1]);
                string   extension     = segmenatado[1];
                string   archivo       = String.Format("{0}\\{1}", ruta, filename);
                try
                {
                    FileInfo file = new FileInfo(archivo);
                    // Verificar que el archivo no exista
                    if (File.Exists(archivo))
                    {
                        file.Delete();
                    }


                    switch (extension.ToLower())
                    {
                    case "jpeg":
                        System.Drawing.Image img = System.Drawing.Image.FromStream(rauAdjuntoID.UploadedFiles[i].InputStream);
                        img.Save(archivo);
                        imagen = Imagen_A_Bytes(archivo); break;

                    case "jpg":
                        img = System.Drawing.Image.FromStream(rauAdjuntoID.UploadedFiles[i].InputStream);
                        img.Save(archivo);
                        imagen = Imagen_A_Bytes(archivo); break;

                    case "png":
                        img = System.Drawing.Image.FromStream(rauAdjuntoID.UploadedFiles[i].InputStream);
                        img.Save(archivo);
                        imagen = Imagen_A_Bytes(archivo); break;

                    case "gif":
                        img = System.Drawing.Image.FromStream(rauAdjuntoID.UploadedFiles[i].InputStream);
                        img.Save(archivo);
                        imagen = Imagen_A_Bytes(archivo); break;

                    case "bmp":
                        img = System.Drawing.Image.FromStream(rauAdjuntoID.UploadedFiles[i].InputStream);
                        img.Save(archivo);
                        imagen = Imagen_A_Bytes(archivo); break;

                    case "tiff":
                        img = System.Drawing.Image.FromStream(rauAdjuntoID.UploadedFiles[i].InputStream);
                        img.Save(archivo);
                        imagen = Imagen_A_Bytes(archivo);
                        break;

                    default:
                        Telerik.Web.UI.UploadedFile up = rauAdjuntoID.UploadedFiles[i];
                        up.SaveAs(archivo);
                        imagen = File.ReadAllBytes(archivo);
                        break;
                    }
                }
                catch (Exception) { imagen = null; }
                if (imagen != null)
                {
                    Cancelacion docto = new Cancelacion();
                    string      id    = Convert.ToString(txtid.Text);
                    docto.id_producto   = id;
                    docto.adjunto       = imagen;
                    docto.nombreAdjunto = segmenatado[0];
                    docto.extension     = segmenatado[1].ToLower();
                    docto.agregaAdjuntoRP();
                    if (Convert.ToBoolean(docto.retorno[0]))
                    {
                        docto.ActualizatieneId();
                        lblError.Text         = "Se han guardardado " + archivosCargado + " de " + archivos + " seleccionados";
                        rauAdjuntoID.Visible  = false;
                        lnkAdjuntarID.Visible = false;
                    }
                    else
                    {
                        lblErrorFotoID.Text = "Error al guardar " + archivosCargado + " de " + archivos + " seleccionados";
                    }
                    object[] retorno = docto.retorno;
                    if (Convert.ToBoolean(retorno[0]))
                    {
                        archivosCargado++;
                    }
                }
            }
        }
        catch (Exception)
        {
            imagen = null;
            lblErrorFotoID.Text = "Favor de cargar algun adjunto";
        }
        finally
        {
            string id = Convert.ToString(txtid.Text);

            dataimg.SelectCommand = "select * from fotografias_productos where id_producto = '" + id + "'";
            DataListFotosDanos.DataBind();
            rauAdjuntoID.DataBind();
        }
    }
        public SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse CancelaCfdi(Cancelacion cancelacion)
        {
            HttpRequestMessageProperty tokenAutenticacion = this.AutenticaServicio();
            CancelaCFDBindingClient    clienteCancelacion = new CancelaCFDBindingClient();

            SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse result;
            using (new OperationContextScope(clienteCancelacion.InnerChannel))
            {
                OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = tokenAutenticacion;
                SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse acuseCancelacion = clienteCancelacion.CancelaCFD(cancelacion);
                result = acuseCancelacion;
            }
            return(result);
        }
        /// <summary>
        /// CancelDocumetAsync
        /// </summary>
        /// <returns></returns>
        public async Task <CancelPayrollStampingResult> CancelDocumetAsync(CancelDocumentParams cancelDocumentParams)
        {
            var cancelPayrollStampingResult = new CancelPayrollStampingResult();

            try
            {
                //Get datetime from ZipCode of Employer
                var zipCodeManager = new ZipCodeManager(cancelDocumentParams.ZipCodes);
                (var zipcode, var datetimeFromZipCode) = await zipCodeManager.GetZipCode(cancelDocumentParams.IssuerZipCode);

                //Fill the cancelation object
                Cancelacion cancelacion = new Cancelacion();
                cancelacion.RfcEmisor = cancelDocumentParams.IssuerRFC;
                cancelacion.Fecha     = DateTime.Parse(string.Format("{0:s}", datetimeFromZipCode), CultureInfo.InvariantCulture);
                var cancelacionFolios = new List <CancelacionFolios>();
                var uuids             = cancelDocumentParams.CancelDocumentParamsDetails.Select(p => p.UUID).ToList();
                uuids.ForEach(p => cancelacionFolios.Add(new CancelacionFolios()
                {
                    UUID = p.ToString().ToLower()
                }));
                cancelacion.Folios = cancelacionFolios.ToArray();

                //Creates the cancelationXML
                var xmlCancelation = createCancelationXML(cancelDocumentParams, cancelacion);

                //Call PAC for cancelation
                var stampResult = new CancelDocumentResult <ICFDINomProvider>();
                stampResult.CancelationXML = xmlCancelation;
                stampResult.InstanceID     = cancelDocumentParams.InstanceID;
                IPACProvider pACProvider          = FactoryPACProvider.CreateInstanceFromConfig();
                var          cancelationPACResult = await pACProvider.CancelStampingDocumentAsync(stampResult);

                if (cancelationPACResult.WithErrors)
                {
                    cancelPayrollStampingResult.WithErrors = true;
                    cancelPayrollStampingResult.Message    = cancelationPACResult.Details;
                }
                else
                {
                    cancelPayrollStampingResult.WithErrors                        = false;
                    cancelPayrollStampingResult.CancelacionXMLRequest             = cancelationPACResult.CancelationXML;
                    cancelPayrollStampingResult.CancelacionXMLAcknowledgeResponse = cancelationPACResult.CancelationAcknowledgmentReceipt;

                    //Fill each UUID with the proper status
                    var acuse = SerializerXml.DeserializeObject <Acuse>(cancelationPACResult.CancelationAcknowledgmentReceipt);
                    acuse.Folios.ForEach(p =>
                    {
                        var detail = new CancelPayrollStampingResultDetail();

                        /*
                         * 201 - El folio se ha cancelado con éxito.
                         * 202 - El CFDI ya había sido cancelado previamente.
                         * 203 - UUID no corresponde al emisor.
                         * 204 - El CFDI no aplica para cancelación.
                         * 205 - El UUID no existe o no ha sido procesado por el SAT.
                         * 402 - El Contribuyente no se encuentra el la LCO o la validez de obligaciones se reporta como negativa.
                         */
                        if (p.EstatusUUID == "201" || p.EstatusUUID == "202") //estatus good
                        {
                            statusCancelationCodes.TryGetValue(p.EstatusUUID, out string message);
                            detail.Message = $"{p.EstatusUUID} : {message}";
                            detail.UUID    = Guid.Parse(p.UUID);
                            detail.PayrollStampingResultStatus = PayrollStampingResultStatus.Success;
                        }
                        else
                        {
                            statusCancelationCodes.TryGetValue(p.EstatusUUID, out string message);
                            detail.Message = $"Error al cancelar {p.EstatusUUID} : {message}";
                            detail.UUID    = Guid.Parse(p.UUID);
                            detail.PayrollStampingResultStatus = PayrollStampingResultStatus.Fail;
                        }
                        cancelPayrollStampingResult.CancelPayrollStampingResultDetails.Add(detail);
                    });
                }
            }
            catch (Exception ex)
            {
                cancelPayrollStampingResult.WithErrors = true;
                cancelPayrollStampingResult.Message    = $"Ocurrió un error no controlado en la cancelación: {ex.Message}";
            }

            return(cancelPayrollStampingResult);
        }
        public List<Cancelacion> ReporteCancelaciones(int idCooperativa, string fechaInicio, string fechaFin)
        {
            InicializaConexion();
            List<Cancelacion> listaTmp = new List<Cancelacion>();

            sqlDataAdapter.SelectCommand = new SqlCommand("Cancelaciones", sqlConnection);
            sqlDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;

            if (idCooperativa == 0) //REPORTE PRYBE
            {
                sqlDataAdapter.SelectCommand.Parameters.Add("@ID", SqlDbType.Int).Value = DBNull.Value;
                sqlDataAdapter.SelectCommand.Parameters["@ID"].Direction = ParameterDirection.Input;

                sqlDataAdapter.SelectCommand.Parameters.Add("@Oper", SqlDbType.Int).Value = 3;
                sqlDataAdapter.SelectCommand.Parameters["@Oper"].Direction = ParameterDirection.Input;
            }
            else //REPORTE POR COOPERATIVA ESPECIFICADA EN EL ID COOPERATIVA
            {
                sqlDataAdapter.SelectCommand.Parameters.Add("@ID", SqlDbType.Int).Value = idCooperativa;
                sqlDataAdapter.SelectCommand.Parameters["@ID"].Direction = ParameterDirection.Input;

                sqlDataAdapter.SelectCommand.Parameters.Add("@Oper", SqlDbType.Int).Value = 2;
                sqlDataAdapter.SelectCommand.Parameters["@Oper"].Direction = ParameterDirection.Input;
            }


            if (fechaInicio == "")
            {
                sqlDataAdapter.SelectCommand.Parameters.Add("@Fecha_Ini", SqlDbType.DateTime).Value = DBNull.Value;
                sqlDataAdapter.SelectCommand.Parameters["@Fecha_Ini"].Direction = ParameterDirection.Input;
            }
            else
            {

                sqlDataAdapter.SelectCommand.Parameters.Add("@Fecha_Ini", SqlDbType.DateTime).Value = fechaInicio;
                sqlDataAdapter.SelectCommand.Parameters["@Fecha_Ini"].Direction = ParameterDirection.Input;
            }

            if (fechaFin == "")
            {

                sqlDataAdapter.SelectCommand.Parameters.Add("@Fecha_Fin", SqlDbType.DateTime).Value = DBNull.Value;
                sqlDataAdapter.SelectCommand.Parameters["@Fecha_Fin"].Direction = ParameterDirection.Input;
            }
            else
            {
                sqlDataAdapter.SelectCommand.Parameters.Add("@Fecha_Fin", SqlDbType.DateTime).Value = fechaFin;
                sqlDataAdapter.SelectCommand.Parameters["@Fecha_Fin"].Direction = ParameterDirection.Input;
            }

            sqlDataAdapter.Fill(ds, "Cancelaciones");

            foreach (DataRow dr in ds.Tables["Cancelaciones"].Rows)
            {
                Cancelacion tmp = new Cancelacion();

                tmp.Socio = Convert.ToString(dr["Socio"]);
                tmp.Coop = Convert.ToString(dr["Coop"]);
                tmp.Plaza = Convert.ToString(dr["Plaza"]);
                tmp.Sucursal = Convert.ToString(dr["Sucursal"]);
                tmp.NoPoliza = Convert.ToString(dr["Poliza"]);
                tmp.FechaSolicitud = Convert.ToString(dr["Fecha_Soc_Can"]);
                tmp.FechaCancelacion = Convert.ToString(dr["Fecha_Endoso"]);
                tmp.PrimasNoDevengadas = Convert.ToString(dr["Primas_No_Dev"]);
                tmp.Status = Convert.ToString(dr["Estado"]);

                listaTmp.Add(tmp);
            }

            FinalizaConexion();
            return listaTmp;
        }
Example #31
0
        private void devolucionButton_Click(object sender, EventArgs e)
        {
            int pasajesCount  = this.pasajesDatagrid.SelectedRows.Count;
            int paquetesCount = this.paquetesDatagrid.SelectedRows.Count;

            if (pasajesCount == 0 && paquetesCount == 0)
            {
                MessageBox.Show("Debe elegir por lo menos un pasaje o una encomienda para iniciar la cancelación.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            DialogResult result = MessageBox.Show(this.buildConfirmMsg(pasajesCount, paquetesCount), "Advertencia", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);

            if (result != DialogResult.OK)
            {
                return;
            }

            DAO.connect();

            DataGridViewRow d   = this.pasajesDatagrid.SelectedRows[0];
            decimal         cod = (decimal)d.Cells[0].Value;
            Pasaje          p   = DAO.selectOne <Pasaje>(new[] { "codigo = " + cod.ToString() });
            Compra_Pasaje   cpp = DAO.selectOne <Compra_Pasaje>(new[] { "pasaje_id = " + p.Id });

            Models.Compra referencia = DAO.selectOne <Models.Compra>(new[] { "id = " + cpp.Compra_Id });

            Cancelacion cancelacion = new Cancelacion();

            cancelacion.Fecha         = Config.SystemConfig.systemDate;
            cancelacion.Motivo        = this.motivoTextbox.Text;
            cancelacion.Numero_Compra = referencia.PNR;
            int cancelacion_id = DAO.insert <Cancelacion>(cancelacion);

            foreach (DataGridViewRow pasaje in this.pasajesDatagrid.SelectedRows)
            {
                decimal codigo           = (decimal)pasaje.Cells[0].Value;
                Pasaje  pasaje_cancelado = DAO.selectOne <Pasaje>(new[] { "codigo = " + codigo.ToString() });

                Cancelacion_Pasaje cp = new Cancelacion_Pasaje();
                cp.Cancelacion_Id = cancelacion_id;
                cp.Pasaje_Id      = pasaje_cancelado.Id;

                pasaje_cancelado.Activo = false;

                DAO.insert <Cancelacion_Pasaje>(cp);
                DAO.update <Pasaje>(pasaje_cancelado);
            }

            foreach (DataGridViewRow paquete in this.paquetesDatagrid.SelectedRows)
            {
                decimal codigo            = (decimal)paquete.Cells[0].Value;
                Paquete paquete_cancelado = DAO.selectOne <Paquete>(new[] { "codigo = " + codigo.ToString() });

                Cancelacion_Paquete cp = new Cancelacion_Paquete();
                cp.Cancelacion_Id = cancelacion_id;
                cp.Paquete_Id     = paquete_cancelado.Id;

                paquete_cancelado.Activo = false;

                DAO.insert <Cancelacion_Paquete>(cp);
                DAO.update <Paquete>(paquete_cancelado);
            }

            DAO.closeConnection();

            MessageBox.Show("Baja concretada.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }