Пример #1
0
        public bool ActualizarVenta(VentaBE objVenta)
        {
            try
            {
                using (ContextDA objContextDA = new ContextDA())
                {
                    objContextDA.Entry(objVenta).State = EntityState.Modified;

                    objContextDA.SaveChanges();
                    return(true);
                }
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage);
                    }
                }
                return(false);
            }
        }
Пример #2
0
        public async Task <IHttpActionResult> Productos(VentaBE obj)
        {
            try
            {
                VentaBL oVentaBL           = new VentaBL(obj.IdCliente);
                Venta_DatosInicialesBE obe = oVentaBL.ListarProductos(obj.UsrCreador, obj.IdCliente, obj.IdTienda);

                if (obe != null && (obe.loProducto != null && obe.loProducto.Count > 0) && (obe.loTipoProducto != null && obe.loTipoProducto.Count > 0))
                {
                    return(Ok(Models.Util.GetBodyResponse(200, obe)));
                }
                else if (obe.loProducto == null || (obe.loProducto != null && obe.loProducto.Count == 0))
                {
                    return(Ok(Models.Util.GetBodyResponse(300, "No se encontraron Productos registrados en la Tienda seleccionada.")));
                }
                else if (obe.loTipoProducto == null || (obe.loTipoProducto != null && obe.loTipoProducto.Count == 0))
                {
                    return(Ok(Models.Util.GetBodyResponse(300, "No se encontraron Tipos de Productos registrados en la Tienda seleccionada.")));
                }
                else
                {
                    return(Ok(Models.Util.GetBodyResponse(300, "No se encontraron registros.")));
                }
            }
            catch (Exception ex)
            {
                /*LogSA.GrabarLogError("SOL TR", user, "GetListarOrdOtrs", ex);*/
                return(Ok(Models.Util.GetBodyResponse(400, ex.Message)));
            }
        }
Пример #3
0
        public bool GuardarVenta(VentaBE objVenta, out string IdVenta)
        {
            try
            {
                using (ContextDA objContextDA = new ContextDA())
                {
                    objContextDA.DbVenta.Add(objVenta);
                    objContextDA.SaveChanges();
                }

                IdVenta = objVenta.IdVenta;
                return(true);
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage);
                    }
                }

                IdVenta = "";
                return(false);
            }
        }
Пример #4
0
        public bool GuardarVenta(VentaBE objVenta, out string IdVenta, out string mensaje)
        {
            VentaDA objVentaDA = new VentaDA();

            try
            {
                /*if (objVenta.Nombre == "")
                 * {
                 *  IdVenta = "0";
                 *  mensaje = "El nombre del Venta no puede estar vacio.";
                 *  return false;
                 * }*/
                if (objVentaDA.GuardarVenta(objVenta, out IdVenta))
                {
                    mensaje = "Se registro al Venta.";
                    return(true);
                }
                else
                {
                    IdVenta = "0";
                    mensaje = "Ocurrio un error al guardar al Venta.";
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #5
0
        protected void Seleccion_onClick(object sender, EventArgs e)
        {
            ClienteServiceClient servCliente = new ClienteServiceClient();
            DataTable            table       = new DataTable();
            VentaBE venta = new VentaBE();

            try
            {
                string idUbica = ((System.Web.UI.WebControls.RadioButton)sender).Attributes["value"].ToString();
                lblIdUbica.Text = idUbica;
                ((System.Web.UI.WebControls.RadioButton)sender).Checked = false;

                List <Ubicacion_CilindroBE> lstCilCliente = new List <Ubicacion_CilindroBE>(servCliente.ConsultarCilPorCliente(lblIdUbica.Text));
                table.Columns.Add("CodigosCil");
                table.Columns.Add("Tamano");
                table.Columns.Add("TipoCil");

                foreach (Ubicacion_CilindroBE info in lstCilCliente)
                {
                    table.Rows.Add(info.Cilindro.Codigo_Cilindro, info.Cilindro.NTamano.Tamano, info.Cilindro.Tipo_Cilindro);
                }

                gvCargue.DataSource = table;
                gvCargue.DataBind();
            }
            catch (Exception ex)
            {
                Response.Redirect("~/About.aspx");
            }
            finally
            {
                btnNuevaConsulta.Focus();
                servCliente.Close();
            }
        }
Пример #6
0
        public VentaBE ConsultarVenta(string datoConsulta)
        {
            VentaBE venta = new VentaBE();

            try
            {
                string    nameSP = "ConsultarVenta";
                BaseDatos db     = new BaseDatos();
                db.Conectar();
                db.CrearComandoSP(nameSP);
                DbParameter[] parametros = new DbParameter[3];
                parametros[0] = db.Comando.CreateParameter();
                parametros[0].ParameterName = "vrDatoConsulta";
                parametros[0].Value         = datoConsulta;
                parametros[0].Direction     = ParameterDirection.Input;
                db.Comando.Parameters.Add(parametros[0]);

                parametros[1] = db.Comando.CreateParameter();
                parametros[1].ParameterName = "vrCodResult";
                parametros[1].Value         = 0;
                parametros[1].Direction     = ParameterDirection.Output;
                db.Comando.Parameters.Add(parametros[1]);

                parametros[2] = db.Comando.CreateParameter();
                parametros[2].ParameterName = "vrDescResult";
                parametros[2].Value         = "";
                parametros[2].Direction     = ParameterDirection.Output;
                parametros[2].Size          = 200;
                parametros[2].DbType        = DbType.String;
                db.Comando.Parameters.Add(parametros[2]);

                DbDataReader datos = db.EjecutarConsulta();
                VentaBE      v     = null;
                while (datos.Read())
                {
                    try
                    {
                        v               = new VentaBE();
                        v.Fecha         = datos.GetDateTime(0);
                        v.Observaciones = datos.GetString(1);
                        venta           = v;
                    }
                    catch (InvalidCastException ex)
                    {
                        throw new Exception("Los tipos no coinciden.", ex);
                    }
                    catch (DataException ex)
                    {
                        throw new Exception("Error de ADO.NET.", ex);
                    }
                }
                datos.Close();
                db.Desconectar();
            }
            catch (Exception ex)
            {
                throw new Exception("Error al acceder a la base de datos para obtener los VentaBEs.");
            }
            return(venta);
        }
Пример #7
0
        /// <summary>
        /// Encargado de recibir la cédula del cliente de los canales front de venta y llamar
        /// al metodo de negocio para registrar ventas
        /// </summary>
        /// <param name="ventas">Objeto de negocio Venta</param>
        /// <returns>Identificador Venta</returns>
        public long RegistrarVenta(VentaBE ventas)
        {
            long    resp;
            VentaBL ventaCil = new VentaBL();

            resp = ventaCil.RegistarVenta(ventas);
            return(resp);
        }
Пример #8
0
        public long RegistrarVenta(VentaBE venta)
        {
            long      codigo = 0;
            BaseDatos db     = new BaseDatos();

            try
            {
                db.Conectar();
                db.ComenzarTransaccion();
                string nameSP = "CrearRegistroVenta";
                db.CrearComandoSP(nameSP);

                DbParameter[] parametros = new DbParameter[11];

                parametros[0] = db.Comando.CreateParameter();
                parametros[0].ParameterName = "vrIdCliente";
                parametros[0].Value         = venta.IdCliente;
                parametros[0].Direction     = ParameterDirection.Input;
                parametros[0].Size          = 18;
                db.Comando.Parameters.Add(parametros[0]);

                parametros[1] = db.Comando.CreateParameter();
                parametros[1].ParameterName = "vrObservaciones";
                parametros[1].Value         = venta.Observaciones;
                parametros[1].Direction     = ParameterDirection.Input;
                parametros[1].Size          = 100;
                db.Comando.Parameters.Add(parametros[1]);

                parametros[2] = db.Comando.CreateParameter();
                parametros[2].ParameterName = "vrCodResult";
                parametros[2].Value         = 0;
                parametros[2].Direction     = ParameterDirection.Output;
                db.Comando.Parameters.Add(parametros[2]);

                parametros[3] = db.Comando.CreateParameter();
                parametros[3].ParameterName = "vrDescResult";
                parametros[3].Value         = "";
                parametros[3].Direction     = ParameterDirection.Output;
                parametros[3].Size          = 200;
                parametros[3].DbType        = DbType.String;
                db.Comando.Parameters.Add(parametros[3]);

                db.EjecutarComando();
                codigo = long.Parse(db.Comando.Parameters[2].Value.ToString());
                db.ConfirmarTransaccion();
            }
            catch (Exception ex)
            {
                db.CancelarTransaccion();
                throw new Exception("Error al crear el VentaBE.", ex);
            }

            finally
            {
                db.Desconectar();
            }
            return(codigo);
        }
Пример #9
0
        public IHttpActionResult GetAnularNC(string usuario, int idCliente, int idVenta)
        {
            EDEDocumentoElectronico    objEDEDocumentoElectronicoResponse;
            EDEEnviarDocumentoResponse objEDERespuesta;
            FacturacionElectronicaBL   oFacturaElectronicaBL = new FacturacionElectronicaBL();

            try
            {
                VentaBL     oVentaBL = new VentaBL(idCliente);
                RespuestaBE rpta     = new RespuestaBE();
                VentaBE     obe      = new VentaBE();
                rpta = oVentaBL.AnularNC(usuario, idCliente, idVenta, out obe);

                if (rpta.codigo == 1 & rpta.isFactOnline)
                {
                    //Generar Estructura Nota de Crédito
                    objEDEDocumentoElectronicoResponse = new EDEDocumentoElectronico();
                    objEDEDocumentoElectronicoResponse = oFacturaElectronicaBL.GenerarEstructuraNotaCredito(obe);
                    //Procesar Nota de Crédito
                    HelperLog.PutLine("Inicio proceso Facturacion Electronica Nota de Crédito");
                    objEDERespuesta = oFacturaElectronicaBL.ProcesarNotaCredito(objEDEDocumentoElectronicoResponse);
                    string msg = "";
                    if (objEDERespuesta.Exito)
                    {
                        msg = "Se envío a SUNAT Correctamente.";
                        if (objEDERespuesta.Procesado)
                        {
                            HelperLog.PutLine(string.Format("Se han actualizado el registro."));
                        }
                        else
                        {
                            HelperLog.PutLine(string.Format("No existen registros para actualizar."));
                        }
                    }
                    else
                    {
                        msg = "Ocurrío un error al enviar a SUNAT.";
                        HelperLog.PutLineError(string.Format(string.Format("Se ha generado el siguiente error: {0}", objEDERespuesta.MensajeError)));
                    }
                    //Actualizar respuesta
                    ActualizarRespuesta(objEDERespuesta);
                    return(Ok(Models.Util.GetBodyResponse(200, rpta.descripcion + " " + msg)));
                }
                else if (rpta.codigo == 1)
                {
                    return(Ok(Models.Util.GetBodyResponse(200, rpta.descripcion)));
                }
                else
                {
                    return(Ok(Models.Util.GetBodyResponse(300, "Ocurrío un error inesperado.")));
                }
            }
            catch (Exception ex)
            {
                /*LogSA.GrabarLogError("SOL TR", user, "GetListarOrdOtrs", ex);*/
                return(Ok(Models.Util.GetBodyResponse(400, ex.Message)));
            }
        }
Пример #10
0
        protected void txtCedulaCliente_TextChanged(object sender, EventArgs e)
        {
            VentaServiceClient   serVenta   = new VentaServiceClient();
            ClienteServiceClient serCliente = new ClienteServiceClient();

            try
            {
                DataTable table = new DataTable();
                long      consultarExistencia = serVenta.ConsultarExistenciaVenta(txtCedulaCliente.Text);

                if (consultarExistencia == 0)
                {
                    MessageBox.Show("El cliente no tiene asignado ninguna venta reciente", "Consultar Venta");
                }
                else
                {
                    VentaBE datosVenta = serVenta.ConsultarVenta(txtCedulaCliente.Text);

                    txtFecha.Text       = Convert.ToString(datosVenta.Fecha);
                    txtHora.Text        = Convert.ToString(datosVenta.Fecha.TimeOfDay);
                    txtObservacion.Text = datosVenta.Observaciones;

                    ClienteBE cliente = serCliente.Consultar_Cliente(txtCedulaCliente.Text);

                    txtCedula2.Text       = cliente.Cedula;
                    lblIdCliente.Text     = cliente.Id_Cliente;
                    txtNombreCliente.Text = cliente.Nombres_Cliente + " " + cliente.Apellido_1 + " " + cliente.Apellido_2;

                    table.Columns.Add("IdUbicacion");
                    table.Columns.Add("Direccion");
                    table.Columns.Add("Barrio");
                    table.Columns.Add("Telefono");
                    table.Columns.Add("Ciudad");

                    foreach (UbicacionBE datos in cliente.ListaDirecciones)
                    {
                        table.Rows.Add(datos.Id_Ubicacion, datos.Direccion, datos.Barrio, datos.Telefono_1, datos.Ciudad.Nombre_Ciudad);
                    }
                    gvDirecciones.DataSource = table;
                    gvDirecciones.DataBind();
                    divDirCliente.Visible    = true;
                    divInfoCilindro.Visible  = true;
                    DivInfoVenta.Visible     = true;
                    btnNuevaConsulta.Visible = true;
                }
            }

            catch (Exception ex)
            {
                Response.Redirect("~/About.aspx");
            }
            finally
            {
                serVenta.Close();
                txtCedulaCliente.Text = "";
                txtCodVenta.Text      = "";
            }
        }
Пример #11
0
        public RespuestaBE AnularNC(string usuario, int idCliente, int idVenta, out VentaBE obe)
        {
            RespuestaBE rpta = new RespuestaBE();
            List <ListaCorrelativoVentaBE> loComprobante = new List <ListaCorrelativoVentaBE>();

            obe = new VentaBE();

            SqlTransaction sqltrans;

            using (SqlConnection con = new SqlConnection(strCnx))
            {
                con.Open();
                rpta           = oVentaDA.Datos_AnularNC(con, usuario, idVenta, out obe);
                obe.UsrCreador = usuario;
                if (rpta.codigo == 1)
                {
                    SqlTransaction sqltransRule;
                    using (SqlConnection conR = new SqlConnection(strCnxRule))
                    {
                        conR.Open();
                        sqltransRule  = conR.BeginTransaction();
                        loComprobante = oVentaDA.TraerCorrelativoAnulacionNC(conR, sqltransRule, obe);
                        if (loComprobante != null && loComprobante.Count > 0)
                        {
                            obe.UsuarioSOL                = loComprobante[0].UsuarioSOL;
                            obe.ClaveSOL                  = loComprobante[0].ClaveSOL;
                            obe.RUC                       = loComprobante[0].RUC;
                            obe.URLCertificado            = loComprobante[0].URLCertificado;
                            obe.ClaveDigital              = loComprobante[0].ClaveDigital;
                            obe.c_id_documentoNC          = loComprobante[0].Serie + '-' + loComprobante[0].Correlativo;
                            obe.c_tipo_documentoNC        = loComprobante[0].TipoDocumentoNC;
                            obe.c_tipo_documento_nombreNC = loComprobante[0].TipoDocumentoNombreNC;

                            sqltrans          = con.BeginTransaction();
                            rpta              = oVentaDA.GuardarNC(con, sqltrans, obe);
                            rpta.isFactOnline = loComprobante[0].isFact;
                            if (rpta.codigo == 1)
                            {
                                sqltransRule.Commit();
                                sqltrans.Commit();
                            }
                            else
                            {
                                sqltransRule.Rollback();
                                sqltrans.Rollback();
                            }
                        }
                        else
                        {
                            sqltransRule.Rollback();
                        }
                    }
                }
            }
            return(rpta);
        }
Пример #12
0
        public VentaBE ObtenerVenta(string IdVenta)
        {
            VentaDA oVentaDA = new VentaDA();

            try
            {
                VentaBE ObjVenta = oVentaDA.ObtenerVenta(IdVenta);
                return(ObjVenta);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #13
0
        public VentaBE ConsultarVenta(string datoConsulta)
        {
            VentaDL ven  = new VentaDL();
            VentaBE resp = new VentaBE();

            try
            {
                resp = ven.ConsultarVenta(datoConsulta);
            }
            catch (Exception ex)
            {
            }

            return(resp);
        }
Пример #14
0
        public long RegistarVenta(VentaBE venta)
        {
            VentaDL ven              = new VentaDL();
            long    respVenta        = 0;
            long    respDetalleVenta = 0;

            try
            {
                if (venta.Observaciones == "")
                {
                    venta.Observaciones = "0";
                }

                respVenta      = ven.RegistrarVenta(venta);
                venta.Id_Venta = respVenta.ToString();

                foreach (Detalle_VentaBE datos in venta.Lista_Detalle_Venta)
                {
                    Detalle_VentaBE det = new Detalle_VentaBE();
                    det.Id_Cilindro_Entrada = datos.Id_Cilindro_Entrada;
                    det.Id_Cilindro_Salida  = datos.Id_Cilindro_Salida;
                    det.Tipo_Cilindro       = datos.Tipo_Cilindro;
                    det.Tamano = datos.Tamano;
                    if (datos.Tipo_Venta == "Prestamo")
                    {
                        det.Tipo_Venta = "3";
                    }
                    if (datos.Tipo_Venta == "Intercambio")
                    {
                        det.Tipo_Venta = "2";
                    }
                    else
                    {
                        det.Tipo_Venta = "1";
                    }
                    venta.Detalle_Venta = det;
                    respDetalleVenta    = ven.RegistrarDetalleVenta(venta);
                }
            }
            catch (Exception ex)
            {
                //guardar exepcion en el log de bd
                respVenta = -1;
            }
            return(respVenta);
        }
Пример #15
0
        public bool ActualizarVenta(VentaBE objVenta)
        {
            VentaDA objVentaDA = new VentaDA();

            try
            {
                if (objVentaDA.ActualizarVenta(objVenta))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #16
0
        private void btnEnviar_Click(object sender, EventArgs e)
        {
            try
            {
                if (checkFields())
                {
                    VentaBE ventaBE = new VentaBE()
                    {
                        Cliente  = txtCliente.Text.Trim(),
                        Producto = txtProducto.Text.Trim(),
                        Cantidad = Convert.ToInt32(txtCantidad.Text),
                        Precio   = Convert.ToDecimal(txtPrecio.Text),
                        Monto    = Convert.ToDecimal(txtMonto.Text)
                    };
                    String ventaJSON = new JavaScriptSerializer().Serialize(ventaBE);

                    messageRequest = new SendMessageRequest()
                    {
                        QueueUrl       = url,
                        MessageBody    = ventaJSON,
                        MessageGroupId = "grupo1-pc4"
                    };

                    sqsClient.SendMessage(messageRequest);
                    MessageBox.Show("Venta enviada.");
                    clearFields();
                }
                else
                {
                    MessageBox.Show("Debe completar todos los campos.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }
        }
Пример #17
0
        public string ImprimirVenta(VentaBE obe)//List<CodigoBarraBE> lstReporteCodigoBarras)
        {
            try
            {
                //List<CodigoBarraBE> lstReporteCodigoBarrasF = new List<CodigoBarraBE>();
                List <ImprimirComprobanteBE> lobj = new List <ImprimirComprobanteBE>();
                ImprimirComprobanteBE        obj  = new ImprimirComprobanteBE();

                if (obe != null)
                {
                    if (obe.loDetalle.Count > 0)
                    {
                        for (var i = 0; i < obe.loDetalle.Count; i += 1)
                        {
                            obj = new ImprimirComprobanteBE();
                            obj.NombreComercial   = obe.c_emisor_nombre_comercial;
                            obj.NombreLegal       = obe.c_emisor_nombre_legal;
                            obj.RUC               = obe.c_emisor_numero_documento;
                            obj.Direccion         = obe.c_emisor_direccion;
                            obj.DireccionL1       = obe.c_emisor_urbanizacion;
                            obj.DireccionL2       = obe.c_emisor_distrito.Substring(3);
                            obj.DireccionL3       = obe.c_emisor_provincia.Substring(3);
                            obj.DireccionL4       = obe.c_emisor_departamento.Substring(3);
                            obj.DireccionL5       = obe.c_emisor_direccion;
                            obj.NombreComprobante = obe.c_tipo_documento_nombre;
                            obj.NumeroComprobante = obe.c_id_documento;
                            obj.FechaEmision      = DateTime.Now.ToString("dd/MM/yyyy"); // obe.c_fecha_emision;
                            //obj.HoraEmision = obe.XXXXXX;
                            obj.CodigoProducto      = Convert.ToString(obe.loDetalle[i].c_id_producto);
                            obj.DescripcionProducto = Convert.ToString(obe.loDetalle[i].c_decripcion);
                            obj.Cantidad            = Convert.ToString(obe.loDetalle[i].n_cantidad);
                            obj.Preciounitario      = Convert.ToString(obe.loDetalle[i].n_precio_unitario);
                            obj.Subtotal            = Convert.ToString(obe.loDetalle[i].n_total_venta);
                            obj.OperacionGravada    = Convert.ToString(obe.n_total_venta - obe.n_total_igv);
                            obj.IGV   = Convert.ToString(obe.n_total_igv);
                            obj.Total = Convert.ToString(obe.n_total_venta);
                            //obj.PiePagina = obe.XXXXXX;
                            //obj.PiePagina1 = obe.XXXXXX;
                            //obj.PiePagina2 = obe.XXXXXX;
                            //obj.PiePagina3 = obe.XXXXXX;
                            //obj.PiePagina4 = obe.XXXXXX;
                            //obj.PiePagina5 = obe.XXXXXX;
                            //obj.PiePaginaL1 = obe.XXXXXX;
                            //obj.PiePaginaL2 = obe.XXXXXX;
                            //obj.PiePaginaL3 = obe.XXXXXX;
                            //obj.PiePaginaL4 = obe.XXXXXX;
                            //obj.PiePaginaL5 = obe.XXXXXX;
                            obj.NumeroNotaVenta = obe.c_id_documentoNV;
                            //obj.Tienda = obe.XXXXXX;
                            //obj.Vendedor = obe.XXXXXX;
                            obj.NroDocumentoReceptor = obe.c_receptor_numero_documento;
                            obj.NombreLegalReceptor  = obe.c_receptor_nombre_legal;
                            obj.DireccionRecepctor   = obe.c_receptor_direccion;
                            //obj.NroGuiaRemision = obe.XXXXXX;
                            lobj.Add(obj);
                        }
                    }
                }
                if (lobj.Count > 0)
                {
                    //Inicio de reporte
                    ReportDocument rd = new ReportDocument();
                    if (obe.t_impresion == "A4")
                    {
                        rd.Load(Path.Combine(HttpContext.Current.Server.MapPath("~/Reportes/Gmail"), "Rpt_KRL_ComprobanteFactura.rpt"));
                    }
                    else
                    {
                        rd.Load(Path.Combine(HttpContext.Current.Server.MapPath("~/Reportes/Gmail"), "Rpt_Chelita_ComprobanteFactura.rpt"));
                    }
                    rd.SetDataSource(lobj);

                    byte[] byteArray = null;
                    Stream stream    = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
                    stream.Seek(0, SeekOrigin.Begin);
                    using (BinaryReader br = new BinaryReader(stream))
                    {
                        byteArray = br.ReadBytes((int)stream.Length);
                    }

                    rd.Close();
                    rd.Dispose();

                    return(Convert.ToBase64String(byteArray));
                }
                else
                {
                    return(""); // new HttpResponseMessage(HttpStatusCode.BadRequest);
                }
            }
            catch (Exception ex)
            {
                //return new HttpResponseMessage(HttpStatusCode.BadRequest);
                return("");// Ok(Models.Util.GetBodyResponse(400, ex.Message));
            }
        }
Пример #18
0
        public EDEDocumentoElectronico GenerarEstructuraBoletaFactura(VentaBE objEFAECab)
        {
            objEDEDocumentoElectronico = new EDEDocumentoElectronico();
            objEDEDocumentoElectronico.CodigoBienOServicio = string.Empty; //HARDCODE
            objEDEDocumentoElectronico.CodigoMedioPago     = string.Empty; //HARDCODE
            objEDEDocumentoElectronico.CuentaBancoNacion   = string.Empty; //HARDCODE
            objEDEDatoAdicional = new EDEDatoAdicional();
            lstEDEDatoAdicional = new List <EDEDatoAdicional>();
            objEDEDocumentoElectronico.DatoAdicionales = lstEDEDatoAdicional;
            objEDEDocumentoElectronico.DescuentoGlobal = 0;//HARDCODE
            objEDEDiscrepancia = new EDEDiscrepancia();
            lstEDEDiscrepancia = new List <EDEDiscrepancia>();
            objEDEDocumentoElectronico.Discrepancias = lstEDEDiscrepancia;
            objEDEDocumentoElectronico.DocAnticipo   = string.Empty;//HARDCODE
            //Inicio rellenar datos de emisor
            objEDECompania = new EDECompania
            {
                CodigoAnexo     = objEFAECab.c_codigo_anexo,//HARDCODE
                NombreComercial = objEFAECab.c_emisor_nombre_comercial,
                NombreLegal     = objEFAECab.c_emisor_nombre_legal,
                NroDocumento    = objEFAECab.c_emisor_numero_documento,
                TipoDocumento   = objEFAECab.c_emisor_tipo_documento, //0 doc trib. no. dom. sin ruc
                                                                      //1 doc nacional de identidad
                                                                      //4 carnet de extranjeria
                                                                      //6 registro unico de contribuyente
                                                                      //7 pasaporte
                                                                      //A ced. diplomatica de identidad
            };
            objEDEDocumentoElectronico.Emisor = objEDECompania;
            //Fin rellenar datos de emisor
            objEDEDocumentoElectronico.Exoneradas       = 0;            //HARDCODE
            objEDEDocumentoElectronico.FechaEmision     = objEFAECab.c_fecha_emision;
            objEDEDocumentoElectronico.FechaVencimiento = string.Empty; //HARDCODE
            objEDEDocumentoElectronico.Gratuitas        = objEFAECab.n_gratuitas;
            objEDEDocumentoElectronico.Gravadas         = objEFAECab.n_gravadas;
            objEDEDocumentoElectronico.HoraEmision      = DateTime.Now.ToString("HH:mm:ss");//HARDCODE
            objEDEDocumentoElectronico.IdDocumento      = objEFAECab.c_id_documento;
            objEDEDocumentoElectronico.Inafectas        = objEFAECab.n_inafectas;
            //Inicio Cargar detalle de venta
            listEDEDetalledocumento = new List <EDEDetalleDocumento>();
            lstFAEDet = objEFAECab.loDetalle;
            foreach (VentaDetalleBE objFAEDet in lstFAEDet)
            {
                objEDEDetalledocumento                     = new EDEDetalleDocumento();
                objEDEDetalledocumento.Cantidad            = objFAEDet.n_cantidad;
                objEDEDetalledocumento.CodigoItem          = objFAEDet.c_id_documento;
                objEDEDetalledocumento.CodigoProductoSunat = string.Empty;//HARDCODE
                objEDEDatoAdicional = new EDEDatoAdicional();
                lstEDEDatoAdicional = new List <EDEDatoAdicional>();
                objEDEDetalledocumento.DatosAdcionales = lstEDEDatoAdicional;
                objEDEDetalledocumento.Descripcion     = objFAEDet.c_decripcion;
                objEDEDetalledocumento.Descuento       = objFAEDet.n_descuento;
                objEDEDetalledocumento.Id                    = objFAEDet.n_id_detalle;
                objEDEDetalledocumento.Impuesto              = objFAEDet.n_impuesto;
                objEDEDetalledocumento.ImpuestoSelectivo     = objFAEDet.n_impuesto_selectivo;
                objEDEDetalledocumento.OtroImpuesto          = objFAEDet.n_otro_impuesto;
                objEDEDetalledocumento.PlacaVehiculo         = string.Empty;//HARCODE
                objEDEDetalledocumento.PrecioReferencial     = objFAEDet.n_precio_referencial;
                objEDEDetalledocumento.PrecioUnitario        = objFAEDet.n_precio_unitario;
                objEDEDetalledocumento.TasaImpuestoSelectivo = 0;                         //HARDCODE
                objEDEDetalledocumento.TipoImpuesto          = objFAEDet.n_tipo_impuesto; //10 Gravado Operacion Onerosa
                                                                                          //11 Gravado Retiro por Premio
                                                                                          //12 Gravado Retiro por Donacion
                                                                                          //13 Gravado Retiro
                                                                                          //14 Gravado Retiro por publicidad
                                                                                          //15 Gravado Bonificaciones
                                                                                          //16 Gravado Retiro por entrega a trabaja
                                                                                          //17 Gravado IVAP
                                                                                          //20 Exonerado Operacion Onerosa
                                                                                          //21 Exonerado Transferencia Gratuita
                                                                                          //30 Inafecto Operacion Onerosa
                                                                                          //31 Inafecto Retiro por Bonificacion
                                                                                          //32 Inafecto Retiro
                                                                                          //33 Inafecto Retiro por Muestras Medicas
                                                                                          //34 Inafecto Retiro por Convenito Colectivo
                                                                                          //35 Inafecto Retiro por Premio
                                                                                          //36 Inafecto Retiro por Publicidad
                                                                                          //40 Esportacion
                objEDEDetalledocumento.TipoPrecio = objFAEDet.c_tipo_precio;              //01 Precio unitario (incluye el IGV)
                                                                                          //02 Valor referencial unitario en operaciones no onerosas
                objEDEDetalledocumento.TotalVenta   = objFAEDet.n_total_venta;
                objEDEDetalledocumento.UnidadMedida = objFAEDet.n_unidad_medida;          //NIU
                                                                                          //KG
                                                                                          //ONZ
                                                                                          //LTR
                listEDEDetalledocumento.Add(objEDEDetalledocumento);
            }
            objEDEDocumentoElectronico.Items = listEDEDetalledocumento;
            //Fin Cargar detalle de venta
            objEDELeyenda = new EDELeyenda();
            lstEDELeyenda = new List <EDELeyenda>();
            objEDEDocumentoElectronico.Leyendas        = lstEDELeyenda;
            objEDEDocumentoElectronico.Moneda          = objEFAECab.c_moneda;
            objEDEDocumentoElectronico.MonedaAnticipo  = string.Empty; //HARDCODE
            objEDEDocumentoElectronico.MontoAnticipo   = 0;            //HARDCODE
            objEDEDocumentoElectronico.MontoDetraccion = objEFAECab.n_monto_detraccion;
            objEDEDocumentoElectronico.MontoEnLetras   = objEFAECab.n_monto_letras;
            objEDEDocumentoElectronico.MontoPercepcion = objEFAECab.n_monto_percepcion;
            objEDEDocumentoRelacionado = new EDEDocumentoRelacionado();
            lstEDEDocumentoRelacionado = new List <EDEDocumentoRelacionado>();
            objEDEDocumentoElectronico.OtrosDocumentosRelacionados = lstEDEDocumentoRelacionado;
            //Inicio rellenar datos de receptor
            objEDECompania = new EDECompania
            {
                CodigoAnexo     = string.Empty,//HARDCODE
                NombreComercial = objEFAECab.c_receptor_nombre_legal,
                NombreLegal     = objEFAECab.c_receptor_nombre_legal,
                NroDocumento    = objEFAECab.c_receptor_numero_documento,
                TipoDocumento   = objEFAECab.c_receptor_tipo_documento, //0 doc trib. no. dom. sin ruc
                                                                        //1 doc nacional de identidad
                                                                        //4 carnet de extranjeria
                                                                        //6 registro unico de contribuyente
                                                                        //7 pasaporte
                                                                        //A ced. diplomatica de identidad
            };
            objEDEDocumentoElectronico.Receptor = objEDECompania;
            //Fin rellenar datos de receptor
            objEDEDocumentoRelacionado = new EDEDocumentoRelacionado();
            lstEDEDocumentoRelacionado = new List <EDEDocumentoRelacionado>();
            objEDEDocumentoElectronico.Relacionados    = lstEDEDocumentoRelacionado;
            objEDEDocumentoElectronico.TasaDetraccion  = 0;                              //HARDCODE
            objEDEDocumentoElectronico.TipoDocAnticipo = string.Empty;                   //HARDCODE
            objEDEDocumentoElectronico.TipoDocumento   = objEFAECab.c_tipo_documento;    //01 Factura
                                                                                         //03 Boleta de Venta
                                                                                         //07 Nota de credito
                                                                                         //08 Nota de debito
            objEDEDocumentoElectronico.TipoOperacion      = objEFAECab.c_tipo_operacion; //HARDCODE
            objEDEDocumentoElectronico.TotalIgv           = objEFAECab.n_total_igv;
            objEDEDocumentoElectronico.TotalIsc           = objEFAECab.n_total_isc;
            objEDEDocumentoElectronico.TotalOtrosTributos = objEFAECab.n_total_otros_tributos;
            objEDEDocumentoElectronico.TotalVenta         = objEFAECab.n_total_venta;

            objEDEDocumentoElectronico.RUC            = objEFAECab.RUC;            //"20512588868";
            objEDEDocumentoElectronico.UsuarioSOL     = objEFAECab.UsuarioSOL;     //"MODDATOS";
            objEDEDocumentoElectronico.ClaveSOL       = objEFAECab.ClaveSOL;       //"MODDATOS";
            objEDEDocumentoElectronico.URLCertificado = objEFAECab.URLCertificado; //"MODDATOS";
            objEDEDocumentoElectronico.ClaveDigital   = objEFAECab.ClaveDigital;   //"MODDATOS";
            return(objEDEDocumentoElectronico);
        }
Пример #19
0
        public RespuestaBE VentaACuenta(VentaBE obe)
        {
            RespuestaBE rpta = new RespuestaBE();
            List <ListaCorrelativoVentaBE> loComprobante = new List <ListaCorrelativoVentaBE>();
            SqlTransaction sqltransRule;

            using (SqlConnection conR = new SqlConnection(strCnxRule))
            {
                conR.Open();
                sqltransRule  = conR.BeginTransaction();
                loComprobante = oVentaDA.TraerCorrelativo(conR, sqltransRule, obe);

                if (loComprobante != null && loComprobante.Count > 0)
                {
                    obe.UsuarioSOL       = loComprobante[0].UsuarioSOL;
                    obe.ClaveSOL         = loComprobante[0].ClaveSOL;
                    obe.RUC              = loComprobante[0].RUC;
                    obe.URLCertificado   = loComprobante[0].URLCertificado;
                    obe.ClaveDigital     = loComprobante[0].ClaveDigital;
                    obe.c_id_documento   = loComprobante[0].Serie + '-' + loComprobante[0].Correlativo;
                    obe.c_id_documentoNV = loComprobante[0].SerieNV + '-' + loComprobante[0].CorrelativoNV;
                    obe.t_impresion      = loComprobante[0].impresion;
                    for (var i = 0; i < obe.loDetalle.Count; i += 1)
                    {
                        obe.loDetalle[i].c_id_documento = loComprobante[0].Serie + '-' + loComprobante[0].Correlativo;
                    }
                    obe.c_fecha_emision = DateTime.Now.ToString("MM/dd/yyyy");
                    SqlTransaction sqltrans;
                    int            id    = 0;
                    bool           rptaF = true;
                    using (SqlConnection con = new SqlConnection(strCnx))
                    {
                        con.Open();
                        sqltrans = con.BeginTransaction();
                        rpta     = oVentaDA.VentaACuenta(con, sqltrans, obe, loComprobante, out id);
                        if (rpta.codigo == 1 || rpta.codigo == 2)
                        {
                            rpta.isFactOnline = loComprobante[0].isFact;

                            if (rptaF)
                            {
                                sqltrans.Commit();
                                sqltransRule.Commit();
                            }
                            else
                            {
                                sqltrans.Rollback();
                                sqltransRule.Rollback();
                                rpta.descripcion = "Ocurrió un error al guardar recetas. " + rpta.descripcion;
                                rpta.codigo      = 0;
                            }
                        }
                        else
                        {
                            sqltransRule.Rollback();
                            sqltrans.Rollback();
                            rpta.descripcion = "Ocurrió un error al guardar información. " + rpta.descripcion;
                            rpta.codigo      = 0;
                        }
                    }
                }
                else
                {
                    sqltransRule.Rollback();
                    rpta             = new RespuestaBE();
                    rpta.descripcion = "No existe comprobante configurado.";
                    rpta.codigo      = 0;
                }
            }
            return(rpta);
        }
Пример #20
0
        public async Task <IHttpActionResult> VentaACuenta(VentaBE obe)
        {
            try
            {
                VentaBL     oVentaBL = new VentaBL(obe.IdCliente);
                RespuestaBE rpta     = new RespuestaBE();
                rpta = oVentaBL.VentaACuenta(obe);

                if (rpta.codigo == 2 & rpta.isFactOnline)
                {
                    EDEDocumentoElectronico    objEDEDocumentoElectronicoResponse;
                    EDEEnviarDocumentoResponse objEDERespuesta;
                    FacturacionElectronicaBL   oFacturaElectronicaBL = new FacturacionElectronicaBL();
                    //Generar Estructura Facturacion electronica
                    objEDEDocumentoElectronicoResponse = new EDEDocumentoElectronico();
                    objEDEDocumentoElectronicoResponse = oFacturaElectronicaBL.GenerarEstructuraBoletaFactura(obe);
                    //Procesar Facturacion electronica
                    HelperLog.PutLine("Inicio proceso Facturacion Electronica Boletas y Facturas");
                    objEDERespuesta = oFacturaElectronicaBL.ProcesarBoletaFactura(objEDEDocumentoElectronicoResponse);
                    string msg         = "";
                    string byteArchivo = "";
                    if (objEDERespuesta.Exito)
                    {
                        ImprimirComprobanteBL oImprimirComprobanteBL = new ImprimirComprobanteBL();
                        byteArchivo = oImprimirComprobanteBL.ImprimirVenta(obe);
                        msg         = "Se envío a SUNAT Correctamente.";
                        if (objEDERespuesta.Procesado)
                        {
                            HelperLog.PutLine(string.Format("Se han actualizado el registro."));
                        }
                        else
                        {
                            HelperLog.PutLine(string.Format("No existen registros para actualizar."));
                        }
                    }
                    else
                    {
                        msg = "Ocurrío un error al enviar a SUNAT.";
                        HelperLog.PutLineError(string.Format(string.Format("Se ha generado el siguiente error: {0}", objEDERespuesta.MensajeError)));
                    }
                    //Actualizar Respuesta
                    ActualizarRespuesta(objEDERespuesta);
                    return(Ok(Models.Util.GetBodyResponseF(200, rpta.descripcion + " " + msg, byteArchivo)));
                }
                else if (rpta.codigo == 1)
                {
                    string byteArchivo = "";
                    //ImprimirComprobanteBL oImprimirComprobanteBL = new ImprimirComprobanteBL();
                    //byteArchivo = oImprimirComprobanteBL.ImprimirVenta(obe);
                    return(Ok(Models.Util.GetBodyResponseF(200, rpta.descripcion, byteArchivo)));
                }
                else if (rpta.codigo == 2)
                {
                    string byteArchivo = "";
                    //ImprimirComprobanteBL oImprimirComprobanteBL = new ImprimirComprobanteBL();
                    //byteArchivo = oImprimirComprobanteBL.ImprimirVenta(obe);
                    return(Ok(Models.Util.GetBodyResponseF(200, rpta.descripcion, byteArchivo)));
                }
                else
                {
                    return(Ok(Models.Util.GetBodyResponse(300, rpta.descripcion)));
                }
            }
            catch (Exception ex)
            {
                //LogSA.GrabarLogError("SOL TR", model.user, "EditarTareas", ex);
                return(Ok(Models.Util.GetBodyResponse(400, ex.Message)));
            }
        }
Пример #21
0
        public IHttpActionResult GetAnular(string usuario, int idCliente, int idVenta)
        {
            EDEComunicacionBaja        objEDEComunicacionBajaResponse;
            EDEDocumentoElectronico    objEDEDocumentoElectronico;
            EDEEnviarDocumentoResponse objEDERespuesta;
            FacturacionElectronicaBL   oFacturaElectronicaBL = new FacturacionElectronicaBL();

            try
            {
                VentaBL     oVentaBL = new VentaBL(idCliente);
                RespuestaBE rpta     = new RespuestaBE();
                VentaBE     obe      = new VentaBE();
                rpta = oVentaBL.Anular(usuario, idCliente, idVenta, out obe);

                if (rpta.codigo == 1 & rpta.isFactOnline)
                {
                    DateTime       fecha = DateTime.Now;
                    List <VentaBE> lobe  = new List <VentaBE>();
                    lobe.Add(obe);
                    //Generar Estructura Comunicación de Baja
                    objEDEComunicacionBajaResponse = new EDEComunicacionBaja();
                    objEDEDocumentoElectronico     = new EDEDocumentoElectronico();
                    objEDEComunicacionBajaResponse = oFacturaElectronicaBL.GenerarEstructuraComunicacionBaja(lobe, fecha);
                    //Procesar Comunicación de Baja
                    HelperLog.PutLine("Inicio proceso Facturacion Electronica Comunicación de Baja");
                    objEDEDocumentoElectronico.RUC            = obe.RUC;
                    objEDEDocumentoElectronico.UsuarioSOL     = obe.UsuarioSOL;
                    objEDEDocumentoElectronico.ClaveSOL       = obe.ClaveSOL;
                    objEDEDocumentoElectronico.URLCertificado = obe.URLCertificado;
                    objEDEDocumentoElectronico.ClaveDigital   = obe.ClaveDigital;
                    objEDERespuesta = oFacturaElectronicaBL.ProcesarComunicacionBaja(objEDEComunicacionBajaResponse, objEDEDocumentoElectronico);
                    string msg = "";
                    if (objEDERespuesta.Exito)
                    {
                        msg = "Se envío a SUNAT Correctamente.";
                        if (objEDERespuesta.Procesado)
                        {
                            HelperLog.PutLine(string.Format("Se han actualizado el registro."));
                        }
                        else
                        {
                            HelperLog.PutLine(string.Format("No existen registros para actualizar."));
                        }
                    }
                    else
                    {
                        msg = "Ocurrío un error al enviar a SUNAT.";
                        HelperLog.PutLineError(string.Format(string.Format("Se ha generado el siguiente error: {0}", objEDERespuesta.MensajeError)));
                    }
                    //Actualizar respuesta
                    //ActualizarRespuesta(objEDERespuesta);
                    return(Ok(Models.Util.GetBodyResponse(200, rpta.descripcion + " " + msg)));
                }
                else if (rpta.codigo == 1) //FACTURA - BOLETA (SIN FACTURACION ELECTRONICA)
                {
                    return(Ok(Models.Util.GetBodyResponse(200, rpta.descripcion)));
                }
                else if (rpta.codigo == 2) //NOTA DE VENTA
                {
                    return(Ok(Models.Util.GetBodyResponse(200, rpta.descripcion)));
                }
                else
                {
                    return(Ok(Models.Util.GetBodyResponse(300, "No se encontraron registros.")));
                }
            }
            catch (Exception ex)
            {
                /*LogSA.GrabarLogError("SOL TR", user, "GetListarOrdOtrs", ex);*/
                return(Ok(Models.Util.GetBodyResponse(400, ex.Message)));
            }
        }
Пример #22
0
        protected void btnAgregar_Click(object sender, EventArgs e)
        {
            ClienteServiceClient  servCliente  = new ClienteServiceClient();
            VehiculoServiceClient servVehiculo = new VehiculoServiceClient();
            DataTable             tabla        = new DataTable();
            VentaBE   venta  = new VentaBE();
            DataTable tabla2 = new DataTable();

            try
            {
                List <Ubicacion_CilindroBE> lstCilVehiculos = new List <Ubicacion_CilindroBE>(servVehiculo.ConsultarCilPorVehiculo("5"));
                List <Ubicacion_CilindroBE> lstCilCliente   = new List <Ubicacion_CilindroBE>(servCliente.ConsultarCilPorCliente(lblIdUbica.Text));
                tabla.Columns.Add("CodigosCilVehiculo");
                tabla2.Columns.Add("CodigosCilCliente");

                if (lstCilVehiculos.Count == 0)
                {
                    MessageBox.Show("El vehículo no tiene cilindros de este tamaño cargados en el sistema");
                    divCilSiembra.Visible    = false;
                    divDatosConsulta.Visible = false;
                    btnGuardar.Visible       = false;
                }
                else
                {
                    foreach (Ubicacion_CilindroBE datos in lstCilVehiculos)
                    {
                        if (lstTamano.SelectedItem.Text == datos.Cilindro.NTamano.Tamano)
                        {
                            tabla.Rows.Add(datos.Cilindro.Codigo_Cilindro);
                            listaCilVeh.Add(datos.Cilindro.Codigo_Cilindro);
                            btnGuardar.Visible = true;
                        }
                        else
                        {
                            MessageBox.Show("El vehículo no tiene cilindros de este tamaño cargados en el sistema");
                            divCilSiembra.Visible    = false;
                            divDatosConsulta.Visible = false;
                            btnGuardar.Visible       = false;
                        }
                    }
                }
                Session["Vehiculo"]      = listaCilVeh;
                gvCilVehiculo.DataSource = tabla;
                gvCilVehiculo.DataBind();

                foreach (Ubicacion_CilindroBE datos in lstCilCliente)
                {
                    if (lstTamano.SelectedItem.Text == datos.Cilindro.NTamano.Tamano)
                    {
                        tabla2.Rows.Add(datos.Cilindro.Codigo_Cilindro);
                        listaCilCli.Add(datos.Cilindro.Codigo_Cilindro);
                    }
                }
                Session["Cliente"]       = listaCilCli;
                gdCodClientes.DataSource = tabla2;
                gdCodClientes.DataBind();
                gdCilSelecCliente.Visible = true;
                gdCodClientes.Visible     = true;
                gvCilVehiculo.Visible     = true;
                gvSeleccion.Visible       = true;
                btnQuitar.Visible         = true;
                btnQuitar2.Visible        = true;
                btnSeleccionar.Visible    = true;
                btnSelect.Visible         = true;
                divDatosConsulta.Visible  = true;
                if (tabla2.Rows.Count == 0)
                {
                    divCilSiembra.Visible     = true;
                    btnQuitar2.Visible        = false;
                    btnSelect.Visible         = false;
                    gdCilSelecCliente.Visible = false;
                    gdCodClientes.Visible     = false;
                }
            }
            catch (Exception ex)
            {
                Response.Redirect("~/About.aspx");
            }
            finally
            {
                servCliente.Close();
                servVehiculo.Close();
                gdCilSelecCliente.Focus();
            }
        }
Пример #23
0
        public RespuestaBE GuardarACuenta(VentaBE obe)
        {
            RespuestaBE rpta = new RespuestaBE();

            obe.UsuarioSOL       = "";
            obe.ClaveSOL         = "";
            obe.RUC              = "";
            obe.URLCertificado   = "";
            obe.ClaveDigital     = "";
            obe.c_id_documento   = "";
            obe.c_id_documentoNV = "";
            obe.t_impresion      = "";
            obe.c_fecha_emision  = DateTime.Now.ToString("MM/dd/yyyy");
            SqlTransaction sqltrans;
            int            id    = 0;
            bool           rptaF = true;

            using (SqlConnection con = new SqlConnection(strCnx))
            {
                con.Open();
                sqltrans = con.BeginTransaction();
                rpta     = oVentaDA.GuardarACuenta(con, sqltrans, obe, out id);
                if (rpta.codigo == 1 || rpta.codigo == 2)
                {
                    rpta.isFactOnline = false;
                    if (id != 0 && obe.loarchivos.Count > 0)
                    {
                        string msj = "";
                        rptaF = oArchivosAdjuntosBL.GuardarArchivoVUE(obe.loarchivos, out msj);
                        if (rptaF)
                        {
                            string[] rutas = msj.Split('#');
                            for (var i = 0; i < rutas.Length; i += 1)
                            {
                                rptaF = oVentaDA.GuardarReceta(con, sqltrans, rutas[i], id, obe.UsrCreador);
                                if (!rptaF)
                                {
                                    break;
                                }
                            }
                        }
                    }

                    if (rptaF)
                    {
                        sqltrans.Commit();
                    }
                    else
                    {
                        sqltrans.Rollback();
                        rpta.descripcion = "Ocurrio un error al guardar recetas. " + rpta.descripcion;
                        rpta.codigo      = 0;
                    }
                }
                else
                {
                    sqltrans.Rollback();
                    rpta.descripcion = "Ocurrio un error al guardar información. " + rpta.descripcion;
                    rpta.codigo      = 0;
                }
            }
            return(rpta);
        }
Пример #24
0
        public long RegistrarDetalleVenta(VentaBE venta)
        {
            long      codigo = 0;
            BaseDatos db     = new BaseDatos();

            try
            {
                db.Conectar();
                db.ComenzarTransaccion();
                string nameSP = "CrearRegistroDetalleVenta";
                db.CrearComandoSP(nameSP);

                DbParameter[] parametros = new DbParameter[10];

                parametros[0] = db.Comando.CreateParameter();
                parametros[0].ParameterName = "vrIdVenta";
                parametros[0].Value         = venta.Id_Venta;
                parametros[0].Direction     = ParameterDirection.Input;
                parametros[0].Size          = 12;
                db.Comando.Parameters.Add(parametros[0]);

                parametros[1] = db.Comando.CreateParameter();
                parametros[1].ParameterName = "vrTipoCil";
                parametros[1].Value         = venta.Detalle_Venta.Tipo_Cilindro;
                parametros[1].Direction     = ParameterDirection.Input;
                parametros[1].Size          = 9;
                db.Comando.Parameters.Add(parametros[1]);

                parametros[2] = db.Comando.CreateParameter();
                parametros[2].ParameterName = "vrTamano";
                parametros[2].Value         = venta.Detalle_Venta.Tamano;
                parametros[2].Direction     = ParameterDirection.Input;
                parametros[2].Size          = 3;
                db.Comando.Parameters.Add(parametros[2]);

                parametros[3] = db.Comando.CreateParameter();
                parametros[3].ParameterName = "vrCodCilEntrada";
                parametros[3].Value         = venta.Detalle_Venta.Id_Cilindro_Entrada;
                parametros[3].Direction     = ParameterDirection.Input;
                parametros[3].Size          = 12;
                db.Comando.Parameters.Add(parametros[3]);

                parametros[4] = db.Comando.CreateParameter();
                parametros[4].ParameterName = "vrCodCilSalida";
                parametros[4].Value         = venta.Detalle_Venta.Id_Cilindro_Salida;
                parametros[4].Direction     = ParameterDirection.Input;
                parametros[4].Size          = 12;
                db.Comando.Parameters.Add(parametros[4]);

                parametros[5] = db.Comando.CreateParameter();
                parametros[5].ParameterName = "vrIdUbica";
                parametros[5].Value         = venta.Id_Ubicacion;
                parametros[5].Direction     = ParameterDirection.Input;
                parametros[5].Size          = 12;
                db.Comando.Parameters.Add(parametros[5]);

                parametros[6] = db.Comando.CreateParameter();
                parametros[6].ParameterName = "vrIdVehiculo";
                parametros[6].Value         = venta.IdVehiculo;
                parametros[6].Direction     = ParameterDirection.Input;
                parametros[6].Size          = 6;
                db.Comando.Parameters.Add(parametros[6]);

                parametros[7] = db.Comando.CreateParameter();
                parametros[7].ParameterName = "vrTipoVenta";
                parametros[7].Value         = venta.Detalle_Venta.Tipo_Venta;
                parametros[7].Direction     = ParameterDirection.Input;
                parametros[7].Size          = 1;
                db.Comando.Parameters.Add(parametros[7]);

                parametros[8] = db.Comando.CreateParameter();
                parametros[8].ParameterName = "vrCodResult";
                parametros[8].Value         = 0;
                parametros[8].Direction     = ParameterDirection.Output;
                db.Comando.Parameters.Add(parametros[8]);

                parametros[9] = db.Comando.CreateParameter();
                parametros[9].ParameterName = "vrDescResult";
                parametros[9].Value         = "";
                parametros[9].Direction     = ParameterDirection.Output;
                parametros[9].Size          = 200;
                parametros[9].DbType        = DbType.String;
                db.Comando.Parameters.Add(parametros[9]);

                db.EjecutarComando();
                codigo = long.Parse(db.Comando.Parameters[8].Value.ToString());
                db.ConfirmarTransaccion();
            }
            catch (Exception ex)
            {
                db.CancelarTransaccion();
                throw new Exception("Error al crear el VentaBE.", ex);
            }

            finally
            {
                db.Desconectar();
            }
            return(codigo);
        }
Пример #25
0
        protected void btnGuardar_Click1(object sender, EventArgs e)
        {
            VentaServiceClient     servVentas       = new VentaServiceClient();
            VentaBE                ventas           = new VentaBE();
            List <Detalle_VentaBE> lstDetalle_venta = new List <Detalle_VentaBE>();


            long resp;

            try
            {
                ClienteBE cliente = new ClienteBE();

                ventas.IdCliente     = lblIdCliente.Text;
                ventas.Observaciones = txtObservacion.Text;
                ventas.Id_Ubicacion  = lblIdUbica.Text;
                ventas.IdVehiculo    = lblIdVehiculo.Text;
                listaCilVehSelec     = (List <string>)Session["VehiculoSelect"];
                listaCilCliSelec     = (List <string>)Session["ClienteSelect"];
                int cantVehiculo = listaCilVehSelec.Count;
                int cantCliente  = listaCilCliSelec.Count;
                if (cantCliente == cantVehiculo)
                {
                    foreach (string dato in listaCilVehSelec)
                    {
                        foreach (string info in listaCilCliSelec)
                        {
                            Detalle_VentaBE detVenta = new Detalle_VentaBE();
                            detVenta.Id_Cilindro_Salida  = dato;
                            detVenta.Tamano              = lstTamano.SelectedItem.Text.ToString();
                            detVenta.Id_Cilindro_Entrada = info;
                            detVenta.Tipo_Cilindro       = Tipo_Cilindro.MARCADO.ToString();
                            lstDetalle_venta.Add(detVenta);
                            detVenta.Tipo_Venta = "Intercambio";
                        }
                    }
                    ventas.Lista_Detalle_Venta = lstDetalle_venta;
                    resp = servVentas.RegistrarVenta(ventas);

                    MessageBox.Show("La venta fue registrada satisfactoriamente en el sistema bajo el código: " + resp, "Venta de Cilindros");
                }
                else
                {
                    if (cantCliente == 0 && cantVehiculo == 1)
                    {
                        foreach (string dato in listaCilVehSelec)
                        {
                            Detalle_VentaBE detVenta = new Detalle_VentaBE();
                            detVenta.Id_Cilindro_Salida  = dato;
                            detVenta.Tamano              = lstTamano.SelectedItem.Text.ToString();
                            detVenta.Id_Cilindro_Entrada = "999999999999";
                            detVenta.Tipo_Cilindro       = Tipo_Cilindro.MARCADO.ToString();
                            lstDetalle_venta.Add(detVenta);
                            detVenta.Tipo_Venta = "Prestamo";
                        }
                        ventas.Lista_Detalle_Venta = lstDetalle_venta;
                        resp = servVentas.RegistrarVenta(ventas);

                        MessageBox.Show("La venta fue registrada satisfactoriamente en el sistema bajo el código: " + resp, "Venta de Cilindros");
                    }

                    else
                    {
                        MessageBox.Show("La cantidad de cilindros prestados no puede ser mayor que uno (1), rectifique la cantidad", "Venta de Cilindros");
                    }
                }
            }
            catch (Exception ex)
            {
                Response.Redirect("~/About.aspx");
            }
            finally
            {
                servVentas.Close();
                Response.Redirect("~/Ventas/frmVentaCilindro.aspx");
            }
        }