示例#1
0
 /// <summary>
 /// Agrega o modifica un registro de la tabla: Localidades
 /// (Código Fijo)
 /// </summary>
 /// <param name="p_dbcAccess">Conexion a la base de datos</param>
 /// <param name="p_entLocalidad">Entidad con los datos a procesar</param>
 /// <param name="p_smResult">Estado final de la operacion</param>
 internal static void LocSave_f(DBConn p_dbcAccess,
                                ref ELocalidad p_entLocalidad,
                                StatMsg p_smResult)
 {
     // *********
     // Agregar acá los procesos adicionales
     // *********
 }
示例#2
0
 /// <summary>
 /// Agrega validacion de integridad a una entidad: Localidad
 /// (Código Fijo)
 /// </summary>
 /// <param name="p_dbcAccess">Conexion a la base de datos</param>
 /// <param name="p_entLocalidad">Entidad con los datos a validar</param>
 /// <param name="p_smResult">Estado final de la operacion</param>
 internal static void LocTInt_f(DBConn p_dbcAccess,
                                ELocalidad p_entLocalidad,
                                StatMsg p_smResult)
 {
     // *********
     // Agregar acá las validaciones adicionales
     // *********
 }
示例#3
0
        // TODO : este requiere manejo transaccional!.
        /// <summary>
        ///
        /// </summary>
        /// <param name="ajuste"></param>
        /// <param name="terminal"></param>
        /// <param name="usuario"></param>
        /// <param name="localidad"></param>
        /// <param name="numero"></param>
        /// <param name="tipo"></param>
        /// <param name="contenido"></param>
        /// <param name="modeloImpresora"></param>
        /// <param name="respuesta"></param>
        public void GuardarAjuste(EAjuste ajuste, ETerminal terminal, EUsuario usuario, ELocalidad localidad, ETipoAjuste tipo, string contenido, string modeloImpresora, out Respuesta respuesta)
        {
            respuesta = new Respuesta(false);
            //1. Creamos el encabezado de la venta.
            string  idAjuste = Guid.NewGuid().ToString();
            RAjuste rajuste  = new RAjuste();
            RVenta  rventa   = new RVenta();

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    var reg = rajuste.GetNumeroAjuste();

                    // int numero = reg.Field<int>("nro_ajuste");
                    int numero = (int)reg["nro_ajuste"];

                    if (rajuste.CrearAjuste(idAjuste, tipo.CalcularCostoVenta, "00", localidad.Codigo, ajuste.Estado, localidad.Codigo, numero + 1, tipo.Signo, tipo.Id, tipo.Codigo, 0, ajuste.TotalVenta, usuario.IdUsuario, ajuste.TotalImpuesto()) == 1)
                    {
                        //2. Creamos cada detalle de la venta.
                        string idAjusteDetalle = Guid.NewGuid().ToString();
                        var    tirilla         = ajuste.CopiaTirilla;
                        foreach (EItemVenta detalle in tirilla)
                        {
                            respuesta.Valida = true;
                            rajuste.CrearAjusteDetalle(idAjusteDetalle, idAjuste, detalle.Articulo.Id, detalle.Cantidad, "00", detalle.Articulo.CodigoImpresion, 0, numero + 1, detalle.Articulo.PrecioVenta1, detalle.Impuesto, detalle.Articulo.Impuesto1);
                            idAjusteDetalle = Guid.NewGuid().ToString();
                        }
                        rventa.CrearCopiaImpresion("00", terminal.Localidad.Codigo, terminal.Codigo, ((int)Enums.TipoTransaccion.Ajuste).ToString(), usuario.IdUsuario, contenido, terminal.Localidad.Codigo, modeloImpresora, 0, numero + 1, terminal.Prefijo, terminal.Codigo, ((int)Enums.TipoTransaccion.Ajuste).ToString(), usuario.IdUsuario);
                    }
                    else
                    {
                        throw new Exception("[GuardarAjuste]: Transaccion no pudo ser guardada.");
                    }
                    scope.Complete();
                }
            }
            catch (SqlException e)
            {
                if (e.Number == -2 || e.Number == 121)
                {
                    respuesta.Valida  = false;
                    respuesta.Mensaje = "Se perdió la conexión con el servidor.";
                    log.Error("[GuardarAjuste]: No pudo ser guardada la transaccion: " + e.Message);
                }
                else
                {
                    respuesta.Valida  = false;
                    respuesta.Mensaje = "Hubo un problema al momento de guardar la transaccion. Por favor contacte al administrador del sistema.";
                    log.Error("[GuardarAjuste]: No pudo ser guardada la transaccion: " + e.Message);
                }
                Telemetria.Instancia.AgregaMetrica(new Excepcion(e));
            }
            catch (Exception ex)
            {
                respuesta.Valida  = false;
                respuesta.Mensaje = "[GuardarAjuste]: No pudo ser guardado el ajuste.";
                log.Error("[GuardarAjuste]: No pudo ser guardado el ajuste: " + ex.Message);
                Telemetria.Instancia.AgregaMetrica(new Excepcion(ex));
            }
        }
示例#4
0
        public static List <Cliente> TraerClientes()
        {
            List <Cliente> lista = new List <Cliente>();

            comando.CommandText = "SELECT * FROM Clientes";
            ELocalidad localidad = ELocalidad.ZonaSur;

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }
                reader = comando.ExecuteReader();

                while (reader.Read())
                {
                    if (reader["localidad"].ToString().Equals("ZonaSur"))
                    {
                        localidad = ELocalidad.ZonaSur;
                    }

                    if (reader["localidad"].ToString().Equals("ZonaOeste"))
                    {
                        localidad = ELocalidad.ZonaOeste;
                    }

                    if (reader["localidad"].ToString().Equals("CABA"))
                    {
                        localidad = ELocalidad.CABA;
                    }
                    string sexo = reader["sexo"].ToString();
                    if (sexo.Contains("Hombre"))
                    {
                        lista.Add(new Cliente(reader["nombre"].ToString(), reader["apellido"].ToString(), Persona.ESexo.Hombre, reader["direccion"].ToString(),
                                              int.Parse(reader["idCliente"].ToString()), localidad));
                    }

                    else if (sexo.Contains("Mujer"))
                    {
                        lista.Add(new Cliente(reader["nombre"].ToString(), reader["apellido"].ToString(), Persona.ESexo.Mujer, reader["direccion"].ToString(),
                                              int.Parse(reader["idCliente"].ToString()), localidad));
                    }

                    else if (sexo.Contains("Binario"))
                    {
                        lista.Add(new Cliente(reader["nombre"].ToString(), reader["apellido"].ToString(), Persona.ESexo.Binario, reader["direccion"].ToString(),
                                              int.Parse(reader["idCliente"].ToString()), localidad));
                    }
                }
                return(lista);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e.InnerException);
            }

            finally
            {
                conexion.Close();
            }
        }
示例#5
0
 /// <summary>
 /// Agrega validacion de integridad a una entidad: Localidad
 /// (Código Fijo)
 /// </summary>
 /// <param name="p_dbcAccess">Conexion a la base de datos</param>
 /// <param name="p_entLocalidad">Entidad con los datos a validar</param>
 /// <param name="p_smResult">Estado final de la operacion</param>
 internal static void LocTInt_f(DBConn p_dbcAccess,
                                ELocalidad p_entLocalidad,
                                StatMsg p_smResult)
 {
 }
示例#6
0
 /// <summary>
 /// Agrega o modifica un registro de la tabla: Localidades
 /// (Código Fijo)
 /// </summary>
 /// <param name="p_dbcAccess">Conexion a la base de datos</param>
 /// <param name="p_entLocalidad">Entidad con los datos a procesar</param>
 /// <param name="p_smResult">Estado final de la operacion</param>
 internal static void LocSave_f(DBConn p_dbcAccess,
                                ref ELocalidad p_entLocalidad,
                                StatMsg p_smResult)
 {
 }
示例#7
0
 /// <summary>
 /// Constructor parametrizado de la clase Cliente.
 /// </summary>
 /// <param name="nombre"></param>
 /// <param name="apellido"></param>
 /// <param name="sexo"></param>
 /// <param name="direccion"></param>
 /// <param name="idCliente"></param>
 public Cliente(string nombre, string apellido, ESexo sexo, string direccion, int idCliente, ELocalidad localidad) : base(idCliente, nombre, apellido, sexo)
 {
     this.IdCliente = idCliente;
     this.Direccion = direccion;
     this.Localidad = localidad;
 }