예제 #1
0
        public List <ClienteBLL> FiltroporActEmpresa(string ae)
        {
            List <ClienteBLL> list = new List <ClienteBLL>();

            using (OnBreakEntities modelo = new OnBreakEntities())
            {
                IEnumerable <Cliente> lista =
                    (from item in modelo.Cliente
                     where item.IdActividadEmpresa.ToString().ToUpper().Contains(ae.ToString().ToUpper())
                     select item).ToList <Cliente>();

                foreach (var item in lista)
                {
                    ClienteBLL nuevo = new ClienteBLL();
                    nuevo.RutCliente         = item.RutCliente;
                    nuevo.RazonSocial        = item.RazonSocial;
                    nuevo.NombreContacto     = item.NombreContacto;
                    nuevo.MailContacto       = item.MailContacto;
                    nuevo.Direccion          = item.Direccion;
                    nuevo.Telefono           = item.Telefono;
                    nuevo.IdActividadEmpresa = item.IdActividadEmpresa;
                    nuevo.IdTipoEmpresa      = item.IdTipoEmpresa;

                    list.Add(nuevo);
                }

                return(list);
            }
        }
예제 #2
0
        public List <ClienteBLL> Listar()
        {
            List <ClienteBLL> list = new List <ClienteBLL>();

            using (OnBreakEntities bd = new OnBreakEntities())
            {
                IEnumerable <Cliente> lista =
                    (from item
                     in bd.Cliente
                     select item).ToList <Cliente>();

                foreach (var item in lista)
                {
                    ClienteBLL nuevo = new ClienteBLL();
                    nuevo.RutCliente         = item.RutCliente;
                    nuevo.RazonSocial        = item.RazonSocial;
                    nuevo.NombreContacto     = item.NombreContacto;
                    nuevo.MailContacto       = item.MailContacto;
                    nuevo.Direccion          = item.Direccion;
                    nuevo.Telefono           = item.Telefono;
                    nuevo.IdActividadEmpresa = item.IdActividadEmpresa;
                    nuevo.IdTipoEmpresa      = item.IdTipoEmpresa;

                    list.Add(nuevo);
                }
                return(list);
            }
        }
예제 #3
0
 public static ClienteBLL Instance()
 {
     if (instance == null)
     {
         lock (padlock)
             if (instance == null)
             {
                 instance = new ClienteBLL();
             }
     }
     return(instance);
 }
예제 #4
0
        public static bool Editar(Pagos pagos)
        {
            bool     paso     = false;
            Contexto contexto = new Contexto();

            try
            {
                Pagos Anterior = BLL.PagosBLL.Buscar(pagos.PagoID);


                int diferencia;



                diferencia = Anterior.Abono + pagos.Abono;
                decimal otradif = Anterior.Abono - pagos.Abono;


                Cliente cliente = ClienteBLL.Buscar(pagos.ClienteID);
                cliente.Total = Math.Abs(cliente.Total - diferencia);

                Inversion negocio = BLL.InversionBLL.Buscar(pagos.InversionID);
                if (Anterior.Abono < pagos.Abono)
                {
                    negocio.Monto += diferencia;
                }
                else
                {
                    negocio.Monto = negocio.Monto - otradif;
                }

                BLL.InversionBLL.Modificar(negocio);

                contexto.Entry(pagos).State = EntityState.Modified;

                if (contexto.SaveChanges() > 0)
                {
                    paso = true;
                }
                contexto.Dispose();
            }
            catch (Exception) { throw; }

            return(paso);
        }
예제 #5
0
        public void Update(ClienteBLL cl)
        {
            OnBreakEntities modelo = new OnBreakEntities();
            Cliente         c      = (from item in modelo.Cliente
                                      where item.RutCliente == cl.RutCliente
                                      select item).FirstOrDefault();

            c.RutCliente         = cl.RutCliente;
            c.RazonSocial        = cl.RazonSocial;
            c.NombreContacto     = cl.NombreContacto;
            c.MailContacto       = cl.MailContacto;
            c.Direccion          = cl.Direccion;
            c.Telefono           = cl.Telefono;
            c.IdActividadEmpresa = cl.IdActividadEmpresa;
            c.IdTipoEmpresa      = cl.IdTipoEmpresa;

            modelo.SaveChanges();
        }
예제 #6
0
        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                bool result = false;
                if (MessageBox.Show($"Eliminar {bsClientes.Current.ToString()}", "Eliminar", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    result = new BLL.ClienteBLL().Eliminar((BEL.EntidadBase)bsClientes.Current);
                }

                if (result)
                {
                    Mensajes.MensajeResultado(result, this);
                    bsClientes.Remove(bsClientes.Current);
                }
            }
            catch (Exception ex)
            {
                Servicios.Logger.WriteLogExeption(ex, 4455);
                Mensajes.MensajeExcepcion(ex, this);
            }
        }
예제 #7
0
        public ClienteBLL buscarPorRut(string rutcli)
        {
            Cliente aBuscar = new Cliente();

            aBuscar = aBuscar.BuscarCliente(rutcli);
            if (aBuscar != null)
            {
                ClienteBLL encontrado = new ClienteBLL();
                encontrado.Rut       = aBuscar.rutCliente;
                encontrado.Nombre    = aBuscar.nombre;
                encontrado.apellidos = aBuscar.apellidos;
                encontrado.correo    = aBuscar.correo;
                encontrado.direccion = aBuscar.direccion;
                encontrado.telefono  = aBuscar.telefono;
                encontrado.idusuario = aBuscar.idUsuario;

                return(encontrado);
            }

            else
            {
                return(null);
            }
        }
예제 #8
0
        public ClienteBLL DatosClienteporRut(string rut)
        {
            if (this.BuscarRut(rut))
            {
                OnBreakEntities modelo = new OnBreakEntities();
                Cliente         c      = modelo.Cliente.Where(item => item.RutCliente == rut).FirstOrDefault();

                ClienteBLL nuevo = new ClienteBLL();
                nuevo.RutCliente         = c.RutCliente;
                nuevo.RazonSocial        = c.RazonSocial;
                nuevo.NombreContacto     = c.NombreContacto;
                nuevo.MailContacto       = c.MailContacto;
                nuevo.Direccion          = c.Direccion;
                nuevo.Telefono           = c.Telefono;
                nuevo.IdActividadEmpresa = c.IdActividadEmpresa;
                nuevo.IdTipoEmpresa      = c.IdTipoEmpresa;

                return(nuevo);
            }
            else
            {
                throw new Exception("Cliente no encontrado o no Existe!!");
            }
        }
예제 #9
0
        public void GravarArquivo(Pedido_Otica pedido)
        {
            bool   IntGenLab       = false;
            string CaminhoArquivos = string.Empty;
            string NomeArq         = string.Empty;

            string[] TextoArq = new string[31];

            const int CAIXA           = 0;
            const int OLHO            = 1;
            const int CLIENTE         = 2;
            const int ESF_OD          = 3;
            const int CIL_OD          = 4;
            const int EIXO_OD         = 5;
            const int ADICAO_OD       = 6;
            const int ESF_OE          = 7;
            const int CIL_OE          = 8;
            const int EIXO_OE         = 9;
            const int ADICAO_OE       = 10;
            const int PRISMA1_OD      = 11;
            const int EIXO_PRISMA1_OD = 12;
            const int PRISMA2_OD      = 13;
            const int EIXO_PRISMA2_OD = 14;
            const int PRISMA1_OE      = 15;
            const int EIXO_PRISMA1_OE = 16;
            const int PRISMA2_OE      = 17;
            const int EIXO_PRISMA2_OE = 18;
            const int DP_LONGE_OD     = 19;
            const int DP_PERTO_OD     = 20;
            const int DP_LONGE_OE     = 21;
            const int DP_PERTO_OE     = 22;
            const int DCOTP_OD        = 23;
            const int APA_OD          = 24;
            const int DCOTP_OE        = 25;
            const int APA_OE          = 26;
            const int DESCH_OD        = 27;
            const int DESCH_OE        = 28;
            const int DESCV_OD        = 29;
            const int DESCV_OE        = 30;

            for (int Index = 0; Index < TextoArq.Length; Index++)
            {
                TextoArq[Index] = string.Empty;
            }

            IntGenLab = Convert.ToBoolean(Parametro.GetParametro("intGenLab"));


            if (IntGenLab)
            {
                CaminhoArquivos = Parametro.GetParametro("strPathFileLab");

                if (pedido.caixa != null)
                {
                    TextoArq[CAIXA] = pedido.caixa.numero;
                }
                else
                {
                    TextoArq[CAIXA] = "0";
                }

                //1 ambos , 2 Direito, 3 esquerdo

                if ((!string.IsNullOrEmpty(pedido.od_gl_esf) && (!string.IsNullOrEmpty(pedido.oe_gl_esf))))
                {
                    TextoArq[OLHO] = "1";
                }
                else if ((!string.IsNullOrEmpty(pedido.od_gl_esf) && (string.IsNullOrEmpty(pedido.oe_gl_esf))))
                {
                    TextoArq[OLHO] = "2";
                }
                else if ((string.IsNullOrEmpty(pedido.od_gl_esf) && (!string.IsNullOrEmpty(pedido.oe_gl_esf))))
                {
                    TextoArq[OLHO] = "3";
                }

                ClienteBLL clienteBLL = new ClienteBLL();
                pedido.cliente = clienteBLL.Localizar(pedido.Id_cliente);

                if (pedido.cliente != null)
                {
                    string codCliente = string.Empty;
                    if (pedido.cliente.codigo_cliente_integracao.Length <= 3)
                    {
                        codCliente = pedido.cliente.codigo_cliente_integracao.PadLeft(pedido.cliente.codigo_cliente_integracao.Length + 1, '0');
                    }
                    else
                    {
                        codCliente = pedido.cliente.codigo_cliente_integracao;
                    }

                    TextoArq[CLIENTE] = "\"" + pedido.cliente.nome_fantasia + ";" + codCliente + ";" + pedido.numero_pedido_cliente + "\"";
                }


                TextoArq[ESF_OD]          = pedido.od_gl_esf;
                TextoArq[CIL_OD]          = pedido.od_gl_cil;
                TextoArq[EIXO_OD]         = pedido.od_eixo.ToString();
                TextoArq[ADICAO_OD]       = pedido.od_adicao.ToString();
                TextoArq[ESF_OE]          = pedido.oe_gl_esf;
                TextoArq[CIL_OE]          = pedido.oe_gl_cil;
                TextoArq[EIXO_OE]         = pedido.oe_eixo.ToString();
                TextoArq[ADICAO_OE]       = pedido.oe_adicao.ToString();
                TextoArq[PRISMA1_OD]      = pedido.od_prisma_valor;
                TextoArq[EIXO_PRISMA1_OD] = pedido.od_prisma_eixo.ToString();
                TextoArq[PRISMA2_OD]      = string.Empty;
                TextoArq[EIXO_PRISMA2_OD] = string.Empty;
                TextoArq[PRISMA1_OE]      = pedido.oe_prisma_valor;
                TextoArq[EIXO_PRISMA1_OE] = pedido.oe_prisma_eixo.ToString();
                TextoArq[PRISMA2_OE]      = string.Empty;
                TextoArq[EIXO_PRISMA2_OE] = string.Empty;
                TextoArq[DP_LONGE_OD]     = pedido.od_dnp_longe;
                TextoArq[DP_PERTO_OD]     = pedido.od_dnp_perto;
                TextoArq[DP_LONGE_OE]     = pedido.oe_dnp_longe;
                TextoArq[DP_PERTO_OE]     = pedido.oe_dnp_perto;
                TextoArq[DCOTP_OD]        = string.Empty;
                TextoArq[APA_OD]          = pedido.od_alt;
                TextoArq[DCOTP_OE]        = string.Empty;
                TextoArq[APA_OE]          = pedido.oe_alt;
                TextoArq[DESCH_OD]        = pedido.od_dech;
                TextoArq[DESCH_OE]        = pedido.oe_dech;
                TextoArq[DESCV_OD]        = string.Empty;
                TextoArq[DESCV_OE]        = string.Empty;


                string linha = string.Empty;

                foreach (var item in TextoArq)
                {
                    if (string.IsNullOrEmpty(linha))
                    {
                        linha += item;
                    }
                    else
                    {
                        linha += "," + item;
                    }
                }

                NomeArq = pedido.codigo.ToString();

                if (string.IsNullOrEmpty(CaminhoArquivos))
                {
                    CaminhoArquivos = @"C:\temp\";
                }

                File.WriteAllText(@CaminhoArquivos + @"\" + NomeArq, linha);
            }
        }
예제 #10
0
        public static bool Modificar(Facturacion facturacion)
        {
            bool     paso     = false;
            Contexto contexto = new Contexto();

            try
            {
                //todo: buscar las entidades que no estan para removerlas
                var visitaant = FacturacionBLL.Buscar(facturacion.FacturaID);

                foreach (var item in visitaant.Detalle)//recorrer el detalle aterior
                {
                    //restar todas las visitas
                    contexto.Articulos.Find(item.ArticuloID).Vigencia += item.Cantidad;



                    //determinar si el item no esta en el detalle actual
                    if (!facturacion.Detalle.ToList().Exists(v => v.ID == item.ID))
                    {
                        //   contexto.Articulos.Find(item.ArticulosID).Inventario -= item.Cantidad;
                        item.Articulos             = null; //quitar la ciudad para que EF no intente hacerle nada
                        contexto.Entry(item).State = EntityState.Deleted;
                    }
                }
                var inversion = contexto.inversion.Find(facturacion.InversionID);

                if (facturacion.Total == facturacion.Abono)
                {
                    inversion.Monto += facturacion.Total;
                    contexto.Entry(inversion).State = EntityState.Modified;
                }
                else
                {
                    contexto.Cliente.Find(facturacion.ClienteID).Total += facturacion.Total;
                    inversion.Monto -= facturacion.Total;


                    Cliente EntradaAnterior = BLL.ClienteBLL.Buscar(facturacion.ClienteID);
                    //identificar la diferencia ya sea restada o sumada
                    decimal diferencia;

                    diferencia = facturacion.Total - EntradaAnterior.Total;

                    //aplicar diferencia al inventario
                    Cliente cliente = BLL.ClienteBLL.Buscar(facturacion.ClienteID);
                    cliente.Total += diferencia;
                    ClienteBLL.Modificar(cliente);



                    Facturacion EntradaAnteri = BLL.FacturacionBLL.Buscar(facturacion.FacturaID);


                    //identificar la diferencia ya sea restada o sumada
                    decimal diferenc;

                    diferenc = facturacion.Total - EntradaAnteri.Total;

                    //aplicar diferencia al inventario
                    Inversion fact = BLL.InversionBLL.Buscar(facturacion.InversionID);
                    fact.Monto += diferenc;
                    InversionBLL.Modificar(fact);
                }
                //recorrer el detalle

                foreach (var item in facturacion.Detalle)
                {
                    //Sumar todas las visitas
                    contexto.Articulos.Find(item.ArticuloID).Vigencia -= item.Cantidad;

                    //Muy importante indicar que pasara con la entidad del detalle
                    var estado = item.ID > 0 ? EntityState.Modified : EntityState.Added;
                    contexto.Entry(item).State = estado;
                }



                Facturacion EntradaAnterio = BLL.FacturacionBLL.Buscar(facturacion.FacturaID);


                //identificar la diferencia ya sea restada o sumada
                decimal diferenci;

                diferenci = facturacion.Total - EntradaAnterio.Total;

                //aplicar diferencia al inventario
                Inversion factu = BLL.InversionBLL.Buscar(facturacion.InversionID);
                factu.Monto += diferenci;
                InversionBLL.Modificar(factu);

                //Idicar que se esta modificando el encabezado
                contexto.Entry(facturacion).State = EntityState.Modified;

                if (contexto.SaveChanges() > 0)
                {
                    paso = true;
                }
                contexto.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            return(paso);
        }