예제 #1
0
        public int Add(int CLIENTEId, int COBROId, int CORRELATIVO)
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE _objCLIENTE = _repositorioCLIENTE.GetById(CLIENTEId);
                    if(Equals(_objCLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",CLIENTEId.ToString()));
                    }

                    RepositorioCOBRO _repositorioCOBRO = new RepositorioCOBRO(context);
                    COBRO _objCOBRO = _repositorioCOBRO.GetById(COBROId);
                    if(Equals(_objCOBRO,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado COBRO con Id =",COBROId.ToString()));
                    }

                    NOTA_COBRO _NOTA_COBRO = new NOTA_COBRO();

                    //properties

                    _NOTA_COBRO.CORRELATIVO = CORRELATIVO;
                    _NOTA_COBRO.ACTIVO = true;

                    //parents

                    _NOTA_COBRO.CLIENTE = _objCLIENTE;
                    _NOTA_COBRO.COBRO = _objCOBRO;

                    context.AddObject("NOTA_COBRO",_NOTA_COBRO);
                    context.SaveChanges();

                    return _NOTA_COBRO.ID;
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
예제 #2
0
 public CLIENTE GetByIdWithFullReferences(int ID)
 {
     Init();
     try
     {
         using (LQCEEntities context = new LQCEEntities())
         {
             RepositorioCLIENTE repositorio = new RepositorioCLIENTE(context);
             return repositorio.GetByIdWithFullReferences(ID);
         }
     }
     catch (Exception ex)
     {
         ISException.RegisterExcepcion(ex);
         Error = ex.Message;
         throw ex;
     }
 }
예제 #3
0
 public int GetByFilterWithFullReferencesCount(string RUT, string NOMBRE, int? ID_REGION, int? ID_COMUNA, int? ID_TIPO_PRESTACION, int? ID_CONVENIO)
 {
     Init();
     try
     {
         using (LQCEEntities context = new LQCEEntities())
         {
             RepositorioCLIENTE repositorio = new RepositorioCLIENTE(context);
             return (from f in repositorio.GetByFilterWithFullReferences(RUT, NOMBRE, ID_REGION, ID_COMUNA, ID_TIPO_PRESTACION, ID_CONVENIO)
                     select f).Count();
         }
     }
     catch (Exception ex)
     {
         ISException.RegisterExcepcion(ex);
         Error = ex.Message;
         throw ex;
     }
 }
예제 #4
0
 public List<CLIENTE> GetByFilterWithFullReferences(string RUT, string NOMBRE, int? ID_REGION, int? ID_COMUNA, int? ID_TIPO_PRESTACION, int? ID_CONVENIO, int PageIndex, int PageSize)
 {
     Init();
     try
     {
         using (LQCEEntities context = new LQCEEntities())
         {
             RepositorioCLIENTE repositorio = new RepositorioCLIENTE(context);
             return (from f in repositorio.GetByFilterWithFullReferences(RUT, NOMBRE, ID_REGION, ID_COMUNA, ID_TIPO_PRESTACION, ID_CONVENIO)
                     .OrderBy(f => f.NOMBRE)
                     .Skip((PageIndex - 1) * PageSize).Take(PageSize)
                     select f).ToList();
         }
     }
     catch (Exception ex)
     {
         ISException.RegisterExcepcion(ex);
         Error = ex.Message;
         throw ex;
     }
 }
예제 #5
0
        public int Add(int CLIENTEId, int FECHA_PAGO, int MONTO_PAGO)
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE _objCLIENTE = _repositorioCLIENTE.GetById(CLIENTEId);
                    if(Equals(_objCLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",CLIENTEId.ToString()));
                    }

                    PAGO _PAGO = new PAGO();

                    //properties

                    _PAGO.FECHA_PAGO = FECHA_PAGO;
                    _PAGO.MONTO_PAGO = MONTO_PAGO;
                    _PAGO.ACTIVO = true;

                    //parents

                    _PAGO.CLIENTE = _objCLIENTE;

                    context.AddObject("PAGO",_PAGO);
                    context.SaveChanges();

                    return _PAGO.ID;
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
예제 #6
0
        public int Add(int CLIENTEId, string NOMBRE)
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE _objCLIENTE = _repositorioCLIENTE.GetById(CLIENTEId);
                    if(Equals(_objCLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",CLIENTEId.ToString()));
                    }

                    CLIENTE_SINONIMO _CLIENTE_SINONIMO = new CLIENTE_SINONIMO();

                    //properties

                    _CLIENTE_SINONIMO.NOMBRE = NOMBRE;
                    _CLIENTE_SINONIMO.ACTIVO = true;

                    //parents

                    _CLIENTE_SINONIMO.CLIENTE = _objCLIENTE;

                    context.AddObject("CLIENTE_SINONIMO",_CLIENTE_SINONIMO);
                    context.SaveChanges();

                    return _CLIENTE_SINONIMO.ID;
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
예제 #7
0
        public void Update(int Id, int CLIENTEId, string NOMBRE)
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCLIENTE_SINONIMO repositorio = new RepositorioCLIENTE_SINONIMO(context);
                    CLIENTE_SINONIMO _CLIENTE_SINONIMO = repositorio.GetById(Id);
                    if(Equals(_CLIENTE_SINONIMO,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE_SINONIMO con Id =",Id.ToString()));
                    }

                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE _objCLIENTE = _repositorioCLIENTE.GetById(CLIENTEId);
                    if(Equals(_objCLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",CLIENTEId.ToString()));
                    }

                    //properties

                    if (!string.IsNullOrEmpty(NOMBRE))
                    {
                        _CLIENTE_SINONIMO.NOMBRE = NOMBRE;
                    }

                    //parents

                    _CLIENTE_SINONIMO.CLIENTE = _objCLIENTE;

                    context.SaveChanges();
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                 throw ex;
            }
        }
        private List<string> ValidarPrestacionVeterinaria(LQCEEntities context, CARGA_PRESTACIONES_VETERINARIAS_DETALLE objDetalle)
        {
            RepositorioPRESTACION_VETERINARIA _RepositorioPRESTACION_VETERINARIA = new RepositorioPRESTACION_VETERINARIA(context);
            RepositorioCLIENTE _RepositorioCLIENTE = new RepositorioCLIENTE(context);
            RepositorioCLIENTE_SINONIMO _RepositorioCLIENTE_SINONIMO = new RepositorioCLIENTE_SINONIMO(context);
            RepositorioPREVISION _RepositorioPREVISION = new RepositorioPREVISION(context);
            RepositorioGARANTIA _RepositorioGARANTIA = new RepositorioGARANTIA(context);
            RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO _RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO = new RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO(context);
            RepositorioEXAMEN _RepositorioEXAMEN = new RepositorioEXAMEN(context);
            RepositorioEXAMEN_SINONIMO _RepositorioEXAMEN_SINONIMO = new RepositorioEXAMEN_SINONIMO(context);
            RepositorioESPECIE _RepositorioESPECIE = new RepositorioESPECIE(context);
            RepositorioRAZA _RepositorioRAZA = new RepositorioRAZA(context);

            var EstadoConError = _RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO.GetById((int)ENUM_CARGA_PRESTACIONES_DETALLE_ESTADO.ConError);
            if (EstadoConError == null)
                throw new Exception("No se encuentra registro de error en la tabla Estado de Detalle Carga Prestaciones");

            var EstadoValidado = _RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO.GetById((int)ENUM_CARGA_PRESTACIONES_DETALLE_ESTADO.Validado);
            if (EstadoValidado == null)
                throw new Exception("No se encuentra registro de error en la tabla Estado de Detalle Carga Prestaciones");

            List<string> ListaValidaciones = new List<string>();

            // Ingreso
            if (string.IsNullOrEmpty(objDetalle.FICHA))
            {
                ListaValidaciones.Add("No se ha señalado numero de ingreso");
            }
            else
            {
                int? _ficha = ISConvert.ToNullableInteger(objDetalle.FICHA);
                if (!_ficha.HasValue)
                {
                    ListaValidaciones.Add("INGRESO debe ser numérico");
                }
                else
                {
                    objDetalle.VALOR_FICHA = _ficha.Value;

                    var objPrestacionVeterinaria = _RepositorioPRESTACION_VETERINARIA.GetById(_ficha.Value);
                    if (objPrestacionVeterinaria != null)
                        ListaValidaciones.Add("Ya existe una prestación en el sistema con el mismo número de ingreso");
                }
            }

            // Nombre
            if (string.IsNullOrEmpty(objDetalle.NOMBRE))
            {
                ListaValidaciones.Add("No se ha señalado nombre del paciente");
            }

            // Especie
            if (string.IsNullOrEmpty(objDetalle.ESPECIE))
            {
                ListaValidaciones.Add("No se ha señalado ESPECIE en la ficha");
            }
            else
            {
                var objEspecie = _RepositorioESPECIE.GetByFilter(objDetalle.ESPECIE).FirstOrDefault();
                if (objEspecie != null)
                {
                    objDetalle.ESPECIE1 = objEspecie;

                    // Raza
                    if (string.IsNullOrEmpty(objDetalle.RAZA))
                    {
                        //ListaValidaciones.Add("No se ha señalado RAZA en la ficha");
                    }
                    else
                    {
                        var objRaza = _RepositorioRAZA.GetByFilter(objEspecie.ID, objDetalle.RAZA).FirstOrDefault();
                        if (objRaza != null)
                        {
                            objDetalle.RAZA1 = objRaza;
                        }
                        else
                        {
                            ListaValidaciones.Add("No se ha podido identificar la RAZA en la ficha");
                        }
                    }
                }
                else
                {
                    ListaValidaciones.Add("No se ha podido identificar la ESPECIE en la ficha");
                }
            }

            // Procedencia
            ////if (string.IsNullOrEmpty(objDetalle.PROCEDENCIA))
            ////{
            ////    ListaValidaciones.Add("No se ha señalado PROCEDENCIA en la ficha");
            ////}

            // Garantia
            if (string.IsNullOrEmpty(objDetalle.GARANTIA))
            {
                //ListaValidaciones.Add("No se ha señalado GARANTIA en la ficha");
            }
            else
            {
                var objGarantia = _RepositorioGARANTIA.GetByFilter(objDetalle.GARANTIA).FirstOrDefault();
                if (objGarantia != null)
                {
                    objDetalle.GARANTIA1 = objGarantia;
                }
                else
                {
                    ListaValidaciones.Add("No se ha podido identificar la GARANTIA en la ficha");
                }
            }

            // Total
            if (string.IsNullOrEmpty(objDetalle.TOTAL))
            {
                ListaValidaciones.Add("No se ha señalado TOTAL en la ficha");
            }
            else
            {
                int? _total = ISConvert.ToNullableInteger(objDetalle.TOTAL);
                if (!_total.HasValue)
                {
                    ListaValidaciones.Add("Total no tiene el formato correcto");
                }
                else
                {
                    objDetalle.VALOR_TOTAL = _total.Value;
                }
            }

            // Solicitante
            if (string.IsNullOrEmpty(objDetalle.SOLICITA))
            {
                ListaValidaciones.Add("No se ha señalado SOLICITANTE en la ficha");
            }
            else
            {
                if (objDetalle.SOLICITA.ToUpper().Trim() == "PARTICULAR")
                {
                    var objCliente = _RepositorioCLIENTE.GetByFilter(null, null, null, null, "", objDetalle.MEDICO).FirstOrDefault();
                    if (objCliente != null)
                    {
                        objDetalle.CLIENTE = objCliente;
                    }
                    else
                    {
                        var objClienteSinonimo = _RepositorioCLIENTE_SINONIMO.GetByFilterWithReferences(null, objDetalle.MEDICO).FirstOrDefault();
                        if (objClienteSinonimo != null)
                        {
                            objClienteSinonimo.CLIENTE = objClienteSinonimo.CLIENTE;
                        }
                        else
                        {
                            ListaValidaciones.Add("No se ha podido identificar CLIENTE MEDICO de la prestación");
                        }
                    }
                }
                else
                {
                    var objCliente = _RepositorioCLIENTE.GetByFilter(null, null, null, null, "", objDetalle.SOLICITA).FirstOrDefault();
                    if (objCliente != null)
                    {
                        objDetalle.CLIENTE = objCliente;
                    }
                    else
                    {
                        var objClienteSinonimo = _RepositorioCLIENTE_SINONIMO.GetByFilterWithReferences(null, objDetalle.SOLICITA).FirstOrDefault();
                        if (objClienteSinonimo != null)
                        {
                            objClienteSinonimo.CLIENTE = objClienteSinonimo.CLIENTE;
                        }
                        else
                        {
                            ListaValidaciones.Add("No se ha podido identificar CLIENTE SOLICITANTE de la prestación");
                        }
                    }
                }
            }

            // Fecha de Recepcion
            if (string.IsNullOrEmpty(objDetalle.FECHA_RECEPCION))
            {
                ListaValidaciones.Add("No se ha señalado FECHA DE RECEPCIÓN en la ficha");
            }
            else
            {
                DateTime? pasoFR = ISConvert.ToNullableDateTime(objDetalle.FECHA_RECEPCION);
                if (!pasoFR.HasValue)
                {
                    ListaValidaciones.Add("FECHA DE RECEPCIÓN no tiene el formato correcto");
                }
                else
                {
                    objDetalle.VALOR_FECHA_RECEPCION = pasoFR.Value;
                }
            }

            // Ficha Clinica
            if (string.IsNullOrEmpty(objDetalle.FICHA_CLINICA))
            {
                //ListaValidaciones.Add("No se ha señalado TOTAL en la ficha");
            }
            else
            {
                int? _ficha = ISConvert.ToNullableInteger(objDetalle.FICHA_CLINICA);
                if (!_ficha.HasValue)
                {
                    ListaValidaciones.Add("FICHA no tiene el formato correcto");
                }
                else
                {
                    objDetalle.VALOR_FICHA_CLINICA = _ficha.Value;
                }
            }

            // Examenes
            int contadorExamen = 1;
            int contadorExamenesRegistrados = 0;
            int contadorValorExamen = 0;
            foreach (var item in objDetalle.CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.Where(pe => pe.ACTIVO))
            {
                if (!string.IsNullOrEmpty(item.VALOR_EXAMEN) || !string.IsNullOrEmpty(item.NOMBRE_EXAMEN))
                {
                    contadorExamenesRegistrados++;
                    if (string.IsNullOrEmpty(item.NOMBRE_EXAMEN))
                    {
                        ListaValidaciones.Add("No ha señalado nombre de examen [" + contadorExamen.ToString() + "]");
                    }
                    else
                    {
                        bool ExamenExiste = false;
                        var objExamen = _RepositorioEXAMEN.GetByFilter((int)ENUM_TIPO_PRESTACION.Humanas, "", item.NOMBRE_EXAMEN).FirstOrDefault();
                        if (objExamen != null)
                        {
                            ExamenExiste = true;
                            item.EXAMEN = objExamen;
                        }
                        else
                        {
                            var objExamenSinonimo = _RepositorioEXAMEN_SINONIMO.GetByFilterWithReferences(null, item.NOMBRE_EXAMEN).FirstOrDefault();
                            if (objExamenSinonimo != null)
                            {
                                ExamenExiste = true;
                                item.EXAMEN = objExamenSinonimo.EXAMEN;
                            }
                            else
                            {
                                ListaValidaciones.Add("No se ha encontrado información del examen [" + contadorExamen.ToString() + "]");
                            }
                        }
                        if (ExamenExiste && string.IsNullOrEmpty(item.VALOR_EXAMEN))
                        {
                            ListaValidaciones.Add("No se ha señalado valor del examen [" + contadorExamen.ToString() + "; " + item.NOMBRE_EXAMEN + "]");
                        }
                    }
                    if (string.IsNullOrEmpty(item.VALOR_EXAMEN))
                    {
                        //ListaValidaciones.Add("No se ha señalado valor de examen [" + contadorExamen.ToString() + "]");
                    }
                    else
                    {
                        int? _valorExamen = ISConvert.ToNullableInteger(item.VALOR_EXAMEN);
                        if (!_valorExamen.HasValue)
                        {
                            ListaValidaciones.Add("Valor de examen no tiene el formato correcto [" + contadorExamen.ToString() + "]");
                        }
                        //else if (_valorExamen == 0)
                        //{
                        //    //ListaValidaciones.Add("Valor de examen no tiene el formato correcto [" + contadorExamen.ToString() + "]");
                        //}
                        else
                        {
                            contadorValorExamen++;
                            item.VALOR_VALOR_EXAMEN = _valorExamen;
                        }
                    }
                    // PENDIENTE: Validar que el valor del examen sea igual al convenio

                    //context.ApplyPropertyChanges("CARGA_PRESTACIONES_VETERINARIAS_EXAMEN", item);
                }
                else if (contadorExamen == 1)
                {
                    ListaValidaciones.Add("No ha señalado nombre y valor de examen [" + contadorExamen.ToString() + "]");
                }
                contadorExamen++;
            }

            if(contadorExamenesRegistrados == 0)
                ListaValidaciones.Add("La ficha debe registrar al menos 1 examen. ");
            if (contadorValorExamen == 0)
                ListaValidaciones.Add("La ficha debe registrar al menos 1 examen con valor. ");

            if (ListaValidaciones.Any())
            {
                objDetalle.CARGA_PRESTACIONES_DETALLE_ESTADO = EstadoConError;
                string errores = "";
                foreach (var item in ListaValidaciones)
                    errores += item + Environment.NewLine;
                objDetalle.MENSAJE_ERROR = errores;
            }
            else
            {
                objDetalle.CARGA_PRESTACIONES_DETALLE_ESTADO = EstadoValidado;
                objDetalle.MENSAJE_ERROR = "";
            }
            //context.ApplyPropertyChanges("CARGA_PRESTACIONES_VETERINARIAS_DETALLE", objDetalle);

            return ListaValidaciones;
        }
예제 #9
0
        public void Update(int Id, int CLIENTEId, int COBROId, int CORRELATIVO)
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioNOTA_COBRO repositorio = new RepositorioNOTA_COBRO(context);
                    NOTA_COBRO _NOTA_COBRO = repositorio.GetById(Id);
                    if(Equals(_NOTA_COBRO,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado NOTA_COBRO con Id =",Id.ToString()));
                    }

                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE _objCLIENTE = _repositorioCLIENTE.GetById(CLIENTEId);
                    if(Equals(_objCLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",CLIENTEId.ToString()));
                    }

                    RepositorioCOBRO _repositorioCOBRO = new RepositorioCOBRO(context);
                    COBRO _objCOBRO = _repositorioCOBRO.GetById(COBROId);
                    if(Equals(_objCOBRO,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado COBRO con Id =",COBROId.ToString()));
                    }

                    //properties

                        _NOTA_COBRO.CORRELATIVO = CORRELATIVO;

                    //parents

                    _NOTA_COBRO.CLIENTE = _objCLIENTE;
                    _NOTA_COBRO.COBRO = _objCOBRO;

                    context.SaveChanges();
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                 throw ex;
            }
        }
예제 #10
0
        public void EmitirFacturas(List<DTO_EMISION_FACTURA> ListaClientesFacturar, DateTime FechaDesde,
            DateTime FechaHasta)
        {
            Init();
            ListaDetalleFactura = new List<DTO_REPORTE_DETALLEFACTURA_PRESTACION>();
            try
            {
                using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioFACTURACION _RepositorioFACTURACION = new RepositorioFACTURACION(context);
                    RepositorioCLIENTE _RepositorioCLIENTE = new RepositorioCLIENTE(context);
                    RepositorioPRESTACION _RepositorioPRESTACION = new RepositorioPRESTACION(context);

                    FACTURACION _FACTURACION = new FACTURACION();
                    _FACTURACION.FECHA_FACTURACION = DateTime.Now;
                    _FACTURACION.ACTIVO = true;
                    context.AddToFACTURACION(_FACTURACION);

                    int correlativo = 1;
                    foreach (var item in ListaClientesFacturar)
                    {
                        CLIENTE _CLIENTE = _RepositorioCLIENTE.GetByIdWithReferences(item.ID_CLIENTE);
                        if (_CLIENTE == null)
                            throw new Exception("No se encuentra información del cliente");

                        var prestaciones = _RepositorioFACTURACION.GetPrestacionesPorFacturar(FechaDesde, FechaHasta, item.ID_CLIENTE).ToList();

                        FACTURA _FACTURA = new FACTURA();
                        _FACTURA.FACTURACION = _FACTURACION;
                        _FACTURA.CORRELATIVO = correlativo;
                        _FACTURA.CLIENTE = _CLIENTE;
                        _FACTURA.NUMERO_FACTURA = null;
                        _FACTURA.RUT_LABORATORIO = _CLIENTE.TIPO_FACTURA.RUT_FACTURA;
                        _FACTURA.ACTIVO = true;
                        _FACTURA.DESCUENTO = item.DESCUENTO;
                        _FACTURA.NOMBRE_CLIENTE = _CLIENTE.NOMBRE;
                        _FACTURA.RUT_CLIENTE = _CLIENTE.RUT;
                        _FACTURA.DIRECCION = _CLIENTE.DIRECCION;
                        if (_CLIENTE.COMUNA != null)
                        {
                            _FACTURA.NOMBRE_COMUNA = _CLIENTE.COMUNA.NOMBRE;
                        }
                        _FACTURA.FONO = _CLIENTE.FONO;
                        _FACTURA.GIRO = _CLIENTE.GIRO;
                        _FACTURA.DETALLE = "Exámenes realizados del " + FechaDesde.ToString("dd MMMM yyyy") + " al " + FechaHasta.ToString("dd MMMM yyyy");
                        _FACTURA.TIPO_FACTURA = _CLIENTE.TIPO_FACTURA;

                        context.AddToFACTURA(_FACTURA);

                        int suma_total = 0;
                        foreach (var prestacion in prestaciones)
                        {
                            PRESTACION _PRESTACION = _RepositorioPRESTACION.GetById(prestacion.ID);
                            if (_PRESTACION == null)
                                throw new Exception("No se encuentra información de la prestación");

                            int total = (int)(prestacion.TOTAL * (1 - (double)item.DESCUENTO / 100.0));
                            suma_total += total;

                            FACTURA_DETALLE _FACTURA_DETALLE = new FACTURA_DETALLE();
                            _FACTURA_DETALLE.FACTURA = _FACTURA;
                            _FACTURA_DETALLE.PRESTACION = _PRESTACION;
                            _FACTURA_DETALLE.MONTO_TOTAL = total;
                            _FACTURA_DETALLE.MONTO_COBRADO = 0;
                            _FACTURA_DETALLE.ACTIVO = true;
                            context.AddToFACTURA_DETALLE(_FACTURA_DETALLE);
                        }

                        if (_CLIENTE.TIPO_FACTURA.AFECTO_IVA)
                        {
                            if (_CLIENTE.TIPO_PRESTACION.ID == (int)Enum.ENUM_TIPO_PRESTACION.Humanas)
                            {
                                _FACTURA.NETO = suma_total;
                                _FACTURA.IVA = (int)(suma_total * 0.19);
                                _FACTURA.TOTAL = (int)(suma_total * 1.19);
                            }
                            else
                            {
                                _FACTURA.NETO = (int)(suma_total / 1.19);
                                _FACTURA.IVA = suma_total - (int)(suma_total / 1.19);
                                _FACTURA.TOTAL = suma_total;
                            }
                        }
                        else
                        {
                            _FACTURA.NETO = suma_total;
                            _FACTURA.IVA = 0;
                            _FACTURA.TOTAL = suma_total;
                        }
                        //context.ApplyPropertyChanges("FACTURA", _FACTURA);
                        correlativo++;
                    }
                    context.SaveChanges();

                    try
                    {
                        var LISTA_DTO_REPORTE_FACTURA = GetReporteFacturaByID_FACTURACION(_FACTURACION.ID);

                        ListaDetalleFactura = GetReporteDetalleFacturaByID_FACTURACION(_FACTURACION.ID);

                        string deviceInfo =
                                      "<DeviceInfo>" +
                                      "  <OutputFormat>PDF</OutputFormat>" +
                                      "  <PageWidth>21cm</PageWidth>" +
                                      "  <PageHeight>29.7cm</PageHeight>" +
                                      "  <MarginTop>1cm</MarginTop>" +
                                      "  <MarginLeft>0.5cm</MarginLeft>" +
                                      "  <MarginRight>0.5cm</MarginRight>" +
                                      "  <MarginBottom>1cm</MarginBottom>" +
                                      "</DeviceInfo>";
                        Warning[] warnings;
                        m_streams_matriz = new List<Stream>();
                        m_streams_DetalleFactura = new List<Stream>();

                        string deviceInfoDireccion =
                                     "<DeviceInfo>" +
                                     "  <OutputFormat>PDF</OutputFormat>" +
                                     "  <PageWidth>11in</PageWidth>" +
                                     "  <PageHeight>1.3in</PageHeight>" +
                                     "  <MarginTop>0.5in</MarginTop>" +
                                     "  <MarginLeft>1in</MarginLeft>" +
                                     "  <MarginRight>1in</MarginRight>" +
                                     "  <MarginBottom>0.5in</MarginBottom>" +
                                     "</DeviceInfo>";
                        Warning[] warningsDireccion;
                        m_streams_Direccion = new List<Stream>();

                        // Documento 1: Un archivo con todas las facturas sin fondo para imprimir en matriz de punto
                        var tf = from f in LISTA_DTO_REPORTE_FACTURA
                                 group f by f.NOMBRE_REPORTE_FACTURA into g
                                 select g;

                        foreach (var facturas in tf)
                        {
                            Hashtable propiedades = new Hashtable();
                            propiedades.Add("Fecha de Documento", _FACTURACION.FECHA_FACTURACION);
                            propiedades.Add("Tipo de Documento", "Factura " + facturas.FirstOrDefault().NOMBRE_TIPO_FACTURA);
                            propiedades.Add("Formato", "Consolidado");

                            Hashtable propiedadesDireccion = new Hashtable();
                            propiedadesDireccion.Add("Fecha de Documento", _FACTURACION.FECHA_FACTURACION);
                            propiedadesDireccion.Add("Tipo de Documento", "Direcciones " + facturas.FirstOrDefault().NOMBRE_TIPO_FACTURA);
                            propiedadesDireccion.Add("Formato", "Consolidado");

                            ReportViewer _ReportViewer = new ReportViewer();
                            _ReportViewer.ProcessingMode = ProcessingMode.Local;
                            _ReportViewer.LocalReport.ShowDetailedSubreportMessages = true;
                            _ReportViewer.LocalReport.DataSources.Clear();
                            _ReportViewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", facturas));
                            _ReportViewer.LocalReport.ReportEmbeddedResource = "LQCE.Transaccion.Reporte." + facturas.Key;
                            _ReportViewer.LocalReport.Render("PDF", deviceInfo, CreateStream, out warnings);
                            foreach (Stream stream in m_streams_matriz)
                                stream.Position = 0;

                            ReportViewer _ReportViewerDireccion = new ReportViewer();
                            _ReportViewerDireccion.ProcessingMode = ProcessingMode.Local;
                            _ReportViewerDireccion.LocalReport.DataSources.Clear();
                            _ReportViewerDireccion.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", facturas));
                            _ReportViewerDireccion.LocalReport.ReportEmbeddedResource = "LQCE.Transaccion.Reporte.DireccionFactura.rdlc";
                            _ReportViewerDireccion.LocalReport.Render("PDF", deviceInfoDireccion, CreateStreamDireccion, out warningsDireccion);
                            foreach (Stream stream in m_streams_Direccion)
                                stream.Position = 0;

                            using (SPWeb spWeb = new SPSite(Settings.Default.SP_WEB).OpenWeb())
                            {
                                SPList spList = spWeb.GetList(Settings.Default.SP_LIBRERIA_FACTURAS);

                                string strNombreFactura = DateTime.Now.ToString("yyyyMMddhhmmss") + "_" + facturas.Key + ".pdf";
                                spList.RootFolder.Files.Add(spList.RootFolder.Url + "/" + strNombreFactura, m_streams_matriz[0], propiedades, true);
                                spList.Update();

                                string strNombreDirecciones = DateTime.Now.ToString("yyyyMMddhhmmss") + "_" + facturas.Key + " - Direcciones.pdf";
                                spList.RootFolder.Files.Add(spList.RootFolder.Url + "/" + strNombreDirecciones, m_streams_Direccion[0], propiedadesDireccion, true);
                                spList.Update();
                            }
                        }

                        // Documento 2: Un archivo con todos los detalles de facturas
                        List<DTO_REPORTE_DETALLEFACTURA_FACTURA> LISTA_DTO_REPORTE_DETALLEFACTURA_FACTURA =
                            (from df in ListaDetalleFactura
                             group df by df.ID_FACTURA into g
                             select new DTO_REPORTE_DETALLEFACTURA_FACTURA
                             {
                                 ID_FACTURA = g.Key,
                                 ID_CLIENTE = g.FirstOrDefault().ID_CLIENTE,
                                 NOMBRE_CLIENTE = g.FirstOrDefault().NOMBRE_CLIENTE,
                                 RUT_CLIENTE = g.FirstOrDefault().RUT_CLIENTE,
                                 DETALLE = g.FirstOrDefault().DETALLE,
                                 SUMA_PENDIENTE = g.Where(p => p.ESTADO_PENDIENTE == "INPAGO" || p.ESTADO_PREVISION == "INPAGO").Sum(p => p.MONTO_TOTAL)
                             }).ToList();

                        Hashtable propiedadesDetalle = new Hashtable();
                        propiedadesDetalle.Add("Fecha de Documento", _FACTURACION.FECHA_FACTURACION);
                        propiedadesDetalle.Add("Tipo de Documento", "Detalle de Factura");
                        propiedadesDetalle.Add("Formato", "Consolidado");

                        ReportViewer _ReportViewerDetalle = new ReportViewer();
                        _ReportViewerDetalle.ProcessingMode = ProcessingMode.Local;
                        _ReportViewerDetalle.LocalReport.ShowDetailedSubreportMessages = true;
                        _ReportViewerDetalle.LocalReport.DataSources.Clear();
                        _ReportViewerDetalle.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", LISTA_DTO_REPORTE_DETALLEFACTURA_FACTURA));
                        _ReportViewerDetalle.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(ReporteDetalleFactura_SubreportProcessingEventHandler);
                        _ReportViewerDetalle.LocalReport.ReportEmbeddedResource = "LQCE.Transaccion.Reporte.DetalleFactura.rdlc";

                        _ReportViewerDetalle.LocalReport.Render("PDF", deviceInfo, CreateStreamDetalleFactura, out warnings);
                        foreach (Stream stream in m_streams_DetalleFactura)
                            stream.Position = 0;

                        using (SPWeb spWeb = new SPSite(Settings.Default.SP_WEB).OpenWeb())
                        {
                            SPList spList = spWeb.GetList(Settings.Default.SP_LIBRERIA_FACTURAS);
                            string strNombreFactura = DateTime.Now.ToString("yyyyMMddhhmmss") + "_DetalleFactura.pdf";
                            spList.RootFolder.Files.Add(spList.RootFolder.Url + "/" + strNombreFactura, m_streams_DetalleFactura[0], propiedadesDetalle, true);
                            spList.Update();
                        }
                    }
                    catch (Exception ex)
                    {
                        // En caso de error, al generar los PDF se eliminan los registros de las facturas
                        _FACTURACION.ACTIVO = false;
                        foreach (var _FACTURA in _FACTURACION.FACTURA)
                        {
                            _FACTURA.ACTIVO = false;
                            foreach (var _FACTURA_DETALLE in _FACTURA.FACTURA_DETALLE)
                            {
                                _FACTURA_DETALLE.ACTIVO = false;
                                context.ApplyPropertyChanges("FACTURA_DETALLE", _FACTURA_DETALLE);
                            }
                            context.ApplyPropertyChanges("FACTURA", _FACTURA);
                        }
                        context.ApplyPropertyChanges("FACTURACION", _FACTURACION);
                        context.SaveChanges();
                        throw ex;
                    }
                }
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
예제 #11
0
 public List<CLIENTE> GetByFilterWithReferences(int? COMUNAId = null, int? CONVENIOId = null, int? TIPO_PRESTACIONId = null, int? TIPO_FACTURAId = null, string RUT = "", string NOMBRE = "", int? DESCUENTO = null, string DIRECCION = "", string FONO = "", string GIRO = "")
 {
     Init();
     try
     {
          using (LQCEEntities context = new LQCEEntities())
         {
             RepositorioCLIENTE repositorio = new RepositorioCLIENTE(context);
             return repositorio.GetByFilterWithReferences(COMUNAId, CONVENIOId, TIPO_PRESTACIONId, TIPO_FACTURAId, RUT, NOMBRE, DESCUENTO, DIRECCION, FONO, GIRO).OrderBy(i => i.ID).ToList();
         }
     }
     catch (Exception ex)
     {
          ISException.RegisterExcepcion(ex);
         Error = ex.Message;
         throw ex;
     }
 }
예제 #12
0
        public void Update(int Id, int COMUNAId, int CONVENIOId, int TIPO_PRESTACIONId, int TIPO_FACTURAId, string RUT, string NOMBRE, int? DESCUENTO = null, string DIRECCION = "", string FONO = "", string GIRO = "")
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCLIENTE repositorio = new RepositorioCLIENTE(context);
                    CLIENTE _CLIENTE = repositorio.GetById(Id);
                    if(Equals(_CLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",Id.ToString()));
                    }

                    RepositorioCOMUNA _repositorioCOMUNA = new RepositorioCOMUNA(context);
                    COMUNA _objCOMUNA = _repositorioCOMUNA.GetById(COMUNAId);
                    if(Equals(_objCOMUNA,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado COMUNA con Id =",COMUNAId.ToString()));
                    }

                    RepositorioCONVENIO _repositorioCONVENIO = new RepositorioCONVENIO(context);
                    CONVENIO _objCONVENIO = _repositorioCONVENIO.GetById(CONVENIOId);
                    if(Equals(_objCONVENIO,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CONVENIO con Id =",CONVENIOId.ToString()));
                    }

                    RepositorioTIPO_PRESTACION _repositorioTIPO_PRESTACION = new RepositorioTIPO_PRESTACION(context);
                    TIPO_PRESTACION _objTIPO_PRESTACION = _repositorioTIPO_PRESTACION.GetById(TIPO_PRESTACIONId);
                    if(Equals(_objTIPO_PRESTACION,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado TIPO_PRESTACION con Id =",TIPO_PRESTACIONId.ToString()));
                    }

                    RepositorioTIPO_FACTURA _repositorioTIPO_FACTURA = new RepositorioTIPO_FACTURA(context);
                    TIPO_FACTURA _objTIPO_FACTURA = _repositorioTIPO_FACTURA.GetById(TIPO_FACTURAId);
                    if(Equals(_objTIPO_FACTURA,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado TIPO_FACTURA con Id =",TIPO_FACTURAId.ToString()));
                    }

                    //properties

                    if (!string.IsNullOrEmpty(RUT))
                    {
                        _CLIENTE.RUT = RUT;
                    }
                    if (!string.IsNullOrEmpty(NOMBRE))
                    {
                        _CLIENTE.NOMBRE = NOMBRE;
                    }
                    if (DESCUENTO.HasValue)
                    {
                        _CLIENTE.DESCUENTO = DESCUENTO.Value;
                    }
                    if (!string.IsNullOrEmpty(DIRECCION))
                    {
                        _CLIENTE.DIRECCION = DIRECCION;
                    }
                    if (!string.IsNullOrEmpty(FONO))
                    {
                        _CLIENTE.FONO = FONO;
                    }
                    if (!string.IsNullOrEmpty(GIRO))
                    {
                        _CLIENTE.GIRO = GIRO;
                    }

                    //parents

                    _CLIENTE.COMUNA = _objCOMUNA;
                    _CLIENTE.CONVENIO = _objCONVENIO;
                    _CLIENTE.TIPO_PRESTACION = _objTIPO_PRESTACION;
                    _CLIENTE.TIPO_FACTURA = _objTIPO_FACTURA;

                    context.SaveChanges();
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                 throw ex;
            }
        }
예제 #13
0
        public void Delete(int Id)
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCLIENTE repositorio = new RepositorioCLIENTE(context);
                    CLIENTE _CLIENTE = repositorio.GetById(Id);

                    if(Equals(_CLIENTE ,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",Id.ToString()));
                    }

                    _CLIENTE.ACTIVO = false;

                    context.SaveChanges();
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                 throw ex;
            }
        }
예제 #14
0
 public List<CLIENTE> GetAllWithReferences()
 {
     Init();
     try
     {
         using (LQCEEntities context = new LQCEEntities())
         {
             RepositorioCLIENTE repositorio = new RepositorioCLIENTE(context);
                                 return repositorio.GetAllWithReferences().OrderBy(i => i.NOMBRE).ToList();
                             }
     }
     catch (Exception ex)
        {
          ISException.RegisterExcepcion(ex);
         Error = ex.Message;
         throw ex;
     }
 }
예제 #15
0
        public int Add(int CLIENTEId, int GARANTIAId, int PREVISIONId, int TIPO_PRESTACIONId, System.DateTime FECHA_RECEPCION, string MEDICO = "", string RECEPCION = "", string PENDIENTE = "")
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE _objCLIENTE = _repositorioCLIENTE.GetById(CLIENTEId);
                    if(Equals(_objCLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",CLIENTEId.ToString()));
                    }

                    RepositorioGARANTIA _repositorioGARANTIA = new RepositorioGARANTIA(context);
                    GARANTIA _objGARANTIA = _repositorioGARANTIA.GetById(GARANTIAId);
                    if(Equals(_objGARANTIA,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado GARANTIA con Id =",GARANTIAId.ToString()));
                    }

                    RepositorioPREVISION _repositorioPREVISION = new RepositorioPREVISION(context);
                    PREVISION _objPREVISION = _repositorioPREVISION.GetById(PREVISIONId);
                    if(Equals(_objPREVISION,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado PREVISION con Id =",PREVISIONId.ToString()));
                    }

                    RepositorioTIPO_PRESTACION _repositorioTIPO_PRESTACION = new RepositorioTIPO_PRESTACION(context);
                    TIPO_PRESTACION _objTIPO_PRESTACION = _repositorioTIPO_PRESTACION.GetById(TIPO_PRESTACIONId);
                    if(Equals(_objTIPO_PRESTACION,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado TIPO_PRESTACION con Id =",TIPO_PRESTACIONId.ToString()));
                    }

                    PRESTACION _PRESTACION = new PRESTACION();

                    //properties

                    _PRESTACION.MEDICO = MEDICO;
                    _PRESTACION.FECHA_RECEPCION = FECHA_RECEPCION;
                    _PRESTACION.RECEPCION = RECEPCION;
                    _PRESTACION.PENDIENTE = PENDIENTE;
                    _PRESTACION.ACTIVO = true;

                    //parents

                    _PRESTACION.CLIENTE = _objCLIENTE;
                    _PRESTACION.GARANTIA = _objGARANTIA;
                    _PRESTACION.PREVISION = _objPREVISION;
                    _PRESTACION.TIPO_PRESTACION = _objTIPO_PRESTACION;

                    context.AddObject("PRESTACION",_PRESTACION);
                    context.SaveChanges();

                    return _PRESTACION.ID;
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
        //public int GetDetalleCargaPrestacionesCount(int IdCargaPrestacionesEncabezado,
        //    string NUMERO_FICHA, string NOMBRE, int? ID_ESTADO_DETALLE, string PROCEDENCIA, int PAGINA, int REGISTROS)
        //{
        //    try
        //    {
        //        using (LQCEEntities context = new LQCEEntities())
        //        {
        //            RepositorioCARGA_PRESTACIONES_ENCABEZADO _RepositorioCARGA_PRESTACIONES_ENCABEZADO = new RepositorioCARGA_PRESTACIONES_ENCABEZADO(context);
        //            RepositorioCARGA_PRESTACIONES_HUMANAS_DETALLE _RepositorioCARGA_PRESTACIONES_HUMANAS_DETALLE = new RepositorioCARGA_PRESTACIONES_HUMANAS_DETALLE(context);
        //            RepositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE _RepositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE = new RepositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE(context);
        //            CARGA_PRESTACIONES_ENCABEZADO objEncabezado = _RepositorioCARGA_PRESTACIONES_ENCABEZADO.GetByIdWithReferences(IdCargaPrestacionesEncabezado);
        //            if (objEncabezado == null)
        //                throw new Exception("No se encuentra informacion de carga de prestaciones");
        //            if (objEncabezado.TIPO_PRESTACION.ID == (int)ENUM_TIPO_PRESTACION.Humanas)
        //            {
        //                var q = from d in _RepositorioCARGA_PRESTACIONES_HUMANAS_DETALLE.GetByFilterWithReferences(IdCargaPrestacionesEncabezado,
        //                        ID_ESTADO_DETALLE, null, null, null, null, NUMERO_FICHA, NOMBRE,
        //                        "", "", "", "", PROCEDENCIA, "", "", "", "", "", "", "", "", "", null, null, null, null)
        //                        select d;
        //                var r = from item in q.OrderBy(d => d.ID).Skip((PAGINA - 1) * REGISTROS).Take(10)
        //                        select new DTO_DETALLE_CARGA_PRESTACIONES
        //                        {
        //                            ID = item.ID,
        //                            ID_TIPO_PRESTACION = item.CARGA_PRESTACIONES_ENCABEZADO.TIPO_PRESTACION.ID,
        //                            NUMERO_FICHA = item.FICHA,
        //                            NOMBRE = item.NOMBRE,
        //                            ID_ESTADO_DETALLE = item.CARGA_PRESTACIONES_DETALLE_ESTADO.ID,
        //                            NOMBRE_ESTADO_DETALLE = item.CARGA_PRESTACIONES_DETALLE_ESTADO.NOMBRE,
        //                            PROCEDENCIA = item.PROCEDENCIA,
        //                            FECHA_RECEPCION = item.FECHA_RECEPCION
        //                        };
        //                return r.ToList().Count();
        //            }
        //            else if (objEncabezado.TIPO_PRESTACION.ID == (int)ENUM_TIPO_PRESTACION.Veterinarias)
        //            {
        //                var q = from d in _RepositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE.GetByFilterWithReferences(IdCargaPrestacionesEncabezado,
        //                        ID_ESTADO_DETALLE, null, null, null, null, null, null,
        //                        NUMERO_FICHA, NOMBRE, "", "", "", "", "", "", "", PROCEDENCIA,
        //                        "", "", "", "", "", "", "", "", null, null, null, null)
        //                        select d;
        //                var r = from item in q.OrderBy(d => d.ID).Skip((PAGINA - 1) * REGISTROS).Take(10)
        //                        select new DTO_DETALLE_CARGA_PRESTACIONES
        //                        {
        //                            ID = item.ID,
        //                            ID_TIPO_PRESTACION = item.CARGA_PRESTACIONES_ENCABEZADO.TIPO_PRESTACION.ID,
        //                            NUMERO_FICHA = item.FICHA,
        //                            NOMBRE = item.NOMBRE,
        //                            ID_ESTADO_DETALLE = item.CARGA_PRESTACIONES_DETALLE_ESTADO.ID,
        //                            NOMBRE_ESTADO_DETALLE = item.CARGA_PRESTACIONES_DETALLE_ESTADO.NOMBRE,
        //                            PROCEDENCIA = item.PROCEDENCIA,
        //                            FECHA_RECEPCION = item.FECHA_RECEPCION
        //                        };
        //                return r.ToList().Count();
        //            }
        //            else
        //            {
        //                throw new Exception("Tipo de carga no identificada");
        //            }
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        ISException.RegisterExcepcion(ex);
        //        Error = ex.Message;
        //        throw ex;
        //    }
        //}
        public void CambiarEstadoCarga(int IdCargaPrestacionesEncabezado, int IdCargaPrestacionesEstado)
        {
            Init();
            try
            {
                using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCARGA_PRESTACIONES_ENCABEZADO _RepositorioCARGA_PRESTACIONES_ENCABEZADO = new RepositorioCARGA_PRESTACIONES_ENCABEZADO(context);
                    RepositorioCARGA_PRESTACIONES_ESTADO _RepositorioCARGA_PRESTACIONES_ESTADO = new RepositorioCARGA_PRESTACIONES_ESTADO(context);
                    RepositorioTIPO_PRESTACION _RepositorioTIPO_PRESTACION = new RepositorioTIPO_PRESTACION(context);
                    RepositorioCLIENTE _RepositorioCLIENTE = new RepositorioCLIENTE(context);

                    CARGA_PRESTACIONES_ENCABEZADO objEncabezado = _RepositorioCARGA_PRESTACIONES_ENCABEZADO.GetByIdWithReferencesFull(IdCargaPrestacionesEncabezado);
                    if (objEncabezado == null)
                        throw new Exception("No se encuentra informacion de la carga");

                    CARGA_PRESTACIONES_ESTADO objEstado = _RepositorioCARGA_PRESTACIONES_ESTADO.GetById(IdCargaPrestacionesEstado);
                    if (objEstado == null)
                        throw new Exception("No se encuentra informacion del estado");

                    // Validaciones
                    if (objEncabezado.CARGA_PRESTACIONES_ESTADO.ID != (int)ENUM_CARGA_PRESTACIONES_ESTADO.Pendiente)
                        throw new Exception("La carga seleccionada no esta en revision pendiente");

                    int IdCargaDetalleEstadoPendiente = (int)ENUM_CARGA_PRESTACIONES_DETALLE_ESTADO.Pendiente;
                    int IdCargaDetalleEstadoValidado = (int)ENUM_CARGA_PRESTACIONES_DETALLE_ESTADO.Validado;

                    if (objEstado.ID == (int)ENUM_CARGA_PRESTACIONES_ESTADO.Completado)
                    {
                        if (objEncabezado.TIPO_PRESTACION.ID == (int)ENUM_TIPO_PRESTACION.Humanas)
                        {
                            if (objEncabezado.CARGA_PRESTACIONES_HUMANAS_DETALLE
                           .Any(d => d.CARGA_PRESTACIONES_DETALLE_ESTADO.ID != IdCargaDetalleEstadoValidado))
                            {
                                throw new Exception("La carga no se puede completar mientras tenga fichas pendientes o con errores");
                            }
                        }
                        else if (objEncabezado.TIPO_PRESTACION.ID == (int)ENUM_TIPO_PRESTACION.Veterinarias)
                        {
                            if (objEncabezado.CARGA_PRESTACIONES_VETERINARIAS_DETALLE
                           .Any(d => d.CARGA_PRESTACIONES_DETALLE_ESTADO.ID != IdCargaDetalleEstadoValidado))
                            {
                                throw new Exception("La carga no se puede completar mientras tenga fichas pendientes o con errores");
                            }
                        }
                    }

                    objEncabezado.CARGA_PRESTACIONES_ESTADO = objEstado;
                    context.ApplyPropertyChanges("CARGA_PRESTACIONES_ENCABEZADO", objEncabezado);

                    // Mover prestaciones y examenes a tablas definitivas
                    if (objEstado.ID == (int)ENUM_CARGA_PRESTACIONES_ESTADO.Completado)
                    {
                        if (objEncabezado.TIPO_PRESTACION.ID == (int)ENUM_TIPO_PRESTACION.Humanas)
                        {
                            TIPO_PRESTACION _TIPO_PRESTACION = _RepositorioTIPO_PRESTACION.GetById((int)ENUM_TIPO_PRESTACION.Humanas);
                            if (_TIPO_PRESTACION == null)
                                throw new Exception("No se encuentra informacion de tipo de prestación humana");

                            foreach (CARGA_PRESTACIONES_HUMANAS_DETALLE _CARGA_PRESTACIONES_HUMANAS_DETALLE in objEncabezado.CARGA_PRESTACIONES_HUMANAS_DETALLE
                                 .Where(d => d.ACTIVO && d.CARGA_PRESTACIONES_DETALLE_ESTADO.ID == (int)ENUM_CARGA_PRESTACIONES_DETALLE_ESTADO.Validado))
                            {
                                if (string.IsNullOrEmpty(_CARGA_PRESTACIONES_HUMANAS_DETALLE.NOMBRE))
                                    throw new Exception("No se ha señalado nombre");
                                if (!_CARGA_PRESTACIONES_HUMANAS_DETALLE.VALOR_FICHA.HasValue)
                                    throw new Exception("No se ha señalado ficha");
                                if (!_CARGA_PRESTACIONES_HUMANAS_DETALLE.VALOR_FECHA_RECEPCION.HasValue)
                                    throw new Exception("Fecha de recepción debe tener valor");
                                if(_CARGA_PRESTACIONES_HUMANAS_DETALLE.CLIENTE == null)
                                    throw new Exception("No se ha identificado al cliente");
                                if (!_CARGA_PRESTACIONES_HUMANAS_DETALLE.VALOR_TOTAL.HasValue)
                                    throw new Exception("No se ha señalado valor total de prestaciones");

                                PRESTACION _PRESTACION = new PRESTACION();
                                _PRESTACION.ID = _CARGA_PRESTACIONES_HUMANAS_DETALLE.VALOR_FICHA.Value;
                                _PRESTACION.TIPO_PRESTACION = _TIPO_PRESTACION;
                                _PRESTACION.FECHA_RECEPCION = _CARGA_PRESTACIONES_HUMANAS_DETALLE.VALOR_FECHA_RECEPCION.Value;
                                _PRESTACION.MEDICO = _CARGA_PRESTACIONES_HUMANAS_DETALLE.MEDICO;
                                _PRESTACION.CLIENTE = _CARGA_PRESTACIONES_HUMANAS_DETALLE.CLIENTE;
                                _PRESTACION.PREVISION = _CARGA_PRESTACIONES_HUMANAS_DETALLE.PREVISION1;
                                _PRESTACION.GARANTIA = _CARGA_PRESTACIONES_HUMANAS_DETALLE.GARANTIA1;
                                _PRESTACION.PENDIENTE = _CARGA_PRESTACIONES_HUMANAS_DETALLE.PENDIENTE;
                                _PRESTACION.RECEPCION = _CARGA_PRESTACIONES_HUMANAS_DETALLE.RECEPCION;
                                _PRESTACION.ACTIVO = true;
                                context.AddToPRESTACION(_PRESTACION);

                                PRESTACION_HUMANA _PRESTACION_HUMANA = new PRESTACION_HUMANA();
                                _PRESTACION_HUMANA.PRESTACION = _PRESTACION;
                                _PRESTACION_HUMANA.NOMBRE = _CARGA_PRESTACIONES_HUMANAS_DETALLE.NOMBRE;
                                _PRESTACION_HUMANA.TELEFONO = _CARGA_PRESTACIONES_HUMANAS_DETALLE.TELEFONO;
                                _PRESTACION_HUMANA.EDAD = _CARGA_PRESTACIONES_HUMANAS_DETALLE.EDAD;
                                _PRESTACION_HUMANA.RUT = _CARGA_PRESTACIONES_HUMANAS_DETALLE.RUT;
                                _PRESTACION_HUMANA.ACTIVO = true;
                                context.AddToPRESTACION_HUMANA(_PRESTACION_HUMANA);

                                foreach (CARGA_PRESTACIONES_HUMANAS_EXAMEN _CARGA_PRESTACIONES_HUMANAS_EXAMEN in _CARGA_PRESTACIONES_HUMANAS_DETALLE
                                    .CARGA_PRESTACIONES_HUMANAS_EXAMEN.Where(d => d.ACTIVO))
                                {
                                    PRESTACION_EXAMEN _PRESTACION_EXAMEN = new PRESTACION_EXAMEN();
                                    _PRESTACION_EXAMEN.PRESTACION = _PRESTACION;
                                    _PRESTACION_EXAMEN.EXAMEN = _CARGA_PRESTACIONES_HUMANAS_EXAMEN.EXAMEN;
                                    _PRESTACION_EXAMEN.VALOR = _CARGA_PRESTACIONES_HUMANAS_EXAMEN.VALOR_VALOR_EXAMEN;
                                    _PRESTACION_EXAMEN.ACTIVO = true;
                                    context.AddToPRESTACION_EXAMEN(_PRESTACION_EXAMEN);
                                }
                            }
                        }
                        else if (objEncabezado.TIPO_PRESTACION.ID == (int)ENUM_TIPO_PRESTACION.Veterinarias)
                        {
                            TIPO_PRESTACION _TIPO_PRESTACION = _RepositorioTIPO_PRESTACION.GetById((int)ENUM_TIPO_PRESTACION.Veterinarias);
                            if (_TIPO_PRESTACION == null)
                                throw new Exception("No se encuentra informacion de tipo de prestación veterinaria");

                            foreach (CARGA_PRESTACIONES_VETERINARIAS_DETALLE _CARGA_PRESTACIONES_VETERINARIAS_DETALLE in objEncabezado.CARGA_PRESTACIONES_VETERINARIAS_DETALLE
                                 .Where(d => d.ACTIVO && d.CARGA_PRESTACIONES_DETALLE_ESTADO.ID == (int)ENUM_CARGA_PRESTACIONES_DETALLE_ESTADO.Validado))
                            {
                                if (string.IsNullOrEmpty(_CARGA_PRESTACIONES_VETERINARIAS_DETALLE.NOMBRE))
                                    throw new Exception("No se ha señalado nombre");
                                if (!_CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FICHA.HasValue)
                                    throw new Exception("No se ha señalado ingreso");
                                if (_CARGA_PRESTACIONES_VETERINARIAS_DETALLE.ESPECIE1 == null)
                                    throw new Exception("No se ha identificado ESPECIE");
                                if (_CARGA_PRESTACIONES_VETERINARIAS_DETALLE.CLIENTE == null)
                                    throw new Exception("No se ha identificado al cliente");
                                if (!_CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_TOTAL.HasValue)
                                    throw new Exception("No se ha señalado valor total de prestaciones");
                                if (string.IsNullOrEmpty(_CARGA_PRESTACIONES_VETERINARIAS_DETALLE.SOLICITA))
                                    throw new Exception("No se ha señalado solicitante");
                                if (!_CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FECHA_RECEPCION.HasValue)
                                    throw new Exception("Fecha de recepción debe tener valor");

                                PRESTACION _PRESTACION = new PRESTACION();
                                _PRESTACION.ID = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FICHA.Value;
                                _PRESTACION.TIPO_PRESTACION = _TIPO_PRESTACION;
                                _PRESTACION.CLIENTE = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.CLIENTE;
                                _PRESTACION.GARANTIA = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.GARANTIA1;
                                _PRESTACION.PENDIENTE = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.PENDIENTE;
                                _PRESTACION.RECEPCION = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.RECEPCION;
                                _PRESTACION.MEDICO = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.MEDICO;
                                _PRESTACION.FECHA_RECEPCION = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FECHA_RECEPCION.Value;
                                _PRESTACION.PREVISION = null;
                                _PRESTACION.ACTIVO = true;

                                context.AddToPRESTACION(_PRESTACION);

                                PRESTACION_VETERINARIA _PRESTACION_VETERINARIA = new PRESTACION_VETERINARIA();
                                _PRESTACION_VETERINARIA.PRESTACION = _PRESTACION;
                                _PRESTACION_VETERINARIA.NOMBRE = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.NOMBRE;
                                _PRESTACION_VETERINARIA.ESPECIE = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.ESPECIE1;
                                _PRESTACION_VETERINARIA.RAZA = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.RAZA1;
                                _PRESTACION_VETERINARIA.SEXO = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.SEXO;
                                _PRESTACION_VETERINARIA.EDAD = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.EDAD;
                                _PRESTACION_VETERINARIA.TELEFONO = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.TELEFONO;
                                _PRESTACION_VETERINARIA.PROCEDENCIA = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.PROCEDENCIA;
                                _PRESTACION_VETERINARIA.SOLICITANTE = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.SOLICITA;
                                _PRESTACION_VETERINARIA.FICHA_CLINICA = _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FICHA_CLINICA;
                                _PRESTACION_VETERINARIA.ACTIVO = true;

                                context.AddToPRESTACION_VETERINARIA(_PRESTACION_VETERINARIA);

                                foreach (CARGA_PRESTACIONES_VETERINARIAS_EXAMEN _CARGA_PRESTACIONES_VETERINARIAS_EXAMEN in _CARGA_PRESTACIONES_VETERINARIAS_DETALLE
                                    .CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.Where(d => d.ACTIVO))
                                {
                                    PRESTACION_EXAMEN _PRESTACION_EXAMEN = new PRESTACION_EXAMEN();
                                    _PRESTACION_EXAMEN.PRESTACION = _PRESTACION;
                                    _PRESTACION_EXAMEN.EXAMEN = _CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.EXAMEN;
                                    _PRESTACION_EXAMEN.VALOR = _CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.VALOR_VALOR_EXAMEN;
                                    _PRESTACION_EXAMEN.ACTIVO = true;
                                    context.AddToPRESTACION_EXAMEN(_PRESTACION_EXAMEN);
                                }
                            }
                        }
                    }

                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
예제 #17
0
        public void Update(int Id, int CLIENTEId, int FACTURACIONId, int TIPO_FACTURAId, int CORRELATIVO, string RUT_LABORATORIO, int NETO, int IVA, int TOTAL, string NOMBRE_CLIENTE = "", string RUT_CLIENTE = "", string DIRECCION = "", string NOMBRE_COMUNA = "", int? NUMERO_FACTURA = null, int? DESCUENTO = null, string FONO = "", string GIRO = "", string DETALLE = "", bool? PAGADA = null)
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioFACTURA repositorio = new RepositorioFACTURA(context);
                    FACTURA _FACTURA = repositorio.GetById(Id);
                    if(Equals(_FACTURA,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado FACTURA con Id =",Id.ToString()));
                    }

                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE _objCLIENTE = _repositorioCLIENTE.GetById(CLIENTEId);
                    if(Equals(_objCLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",CLIENTEId.ToString()));
                    }

                    RepositorioFACTURACION _repositorioFACTURACION = new RepositorioFACTURACION(context);
                    FACTURACION _objFACTURACION = _repositorioFACTURACION.GetById(FACTURACIONId);
                    if(Equals(_objFACTURACION,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado FACTURACION con Id =",FACTURACIONId.ToString()));
                    }

                    RepositorioTIPO_FACTURA _repositorioTIPO_FACTURA = new RepositorioTIPO_FACTURA(context);
                    TIPO_FACTURA _objTIPO_FACTURA = _repositorioTIPO_FACTURA.GetById(TIPO_FACTURAId);
                    if(Equals(_objTIPO_FACTURA,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado TIPO_FACTURA con Id =",TIPO_FACTURAId.ToString()));
                    }

                    //properties

                        _FACTURA.CORRELATIVO = CORRELATIVO;
                    if (!string.IsNullOrEmpty(NOMBRE_CLIENTE))
                    {
                        _FACTURA.NOMBRE_CLIENTE = NOMBRE_CLIENTE;
                    }
                    if (!string.IsNullOrEmpty(RUT_CLIENTE))
                    {
                        _FACTURA.RUT_CLIENTE = RUT_CLIENTE;
                    }
                    if (!string.IsNullOrEmpty(DIRECCION))
                    {
                        _FACTURA.DIRECCION = DIRECCION;
                    }
                    if (!string.IsNullOrEmpty(NOMBRE_COMUNA))
                    {
                        _FACTURA.NOMBRE_COMUNA = NOMBRE_COMUNA;
                    }
                    if (NUMERO_FACTURA.HasValue)
                    {
                        _FACTURA.NUMERO_FACTURA = NUMERO_FACTURA.Value;
                    }
                    if (!string.IsNullOrEmpty(RUT_LABORATORIO))
                    {
                        _FACTURA.RUT_LABORATORIO = RUT_LABORATORIO;
                    }
                    if (DESCUENTO.HasValue)
                    {
                        _FACTURA.DESCUENTO = DESCUENTO.Value;
                    }
                    if (!string.IsNullOrEmpty(FONO))
                    {
                        _FACTURA.FONO = FONO;
                    }
                    if (!string.IsNullOrEmpty(GIRO))
                    {
                        _FACTURA.GIRO = GIRO;
                    }
                    if (!string.IsNullOrEmpty(DETALLE))
                    {
                        _FACTURA.DETALLE = DETALLE;
                    }
                        _FACTURA.NETO = NETO;
                        _FACTURA.IVA = IVA;
                        _FACTURA.TOTAL = TOTAL;
                    if (PAGADA.HasValue)
                    {
                        _FACTURA.PAGADA = PAGADA.Value;
                    }

                    //parents

                    _FACTURA.CLIENTE = _objCLIENTE;
                    _FACTURA.FACTURACION = _objFACTURACION;
                    _FACTURA.TIPO_FACTURA = _objTIPO_FACTURA;

                    context.SaveChanges();
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                 throw ex;
            }
        }
예제 #18
0
        public void EmitirNotasCobros(DateTime FechaFacturacionDesde, DateTime FechaFacturacionHasta,
            int IdTipoCobro, int? IdCliente)
        {
            Init();
            try
            {
                using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioFACTURACION _RepositorioFACTURACION = new RepositorioFACTURACION(context);
                    RepositorioTIPO_COBRO _RepositorioTIPO_COBRO = new RepositorioTIPO_COBRO(context);
                    RepositorioFACTURA _RepositorioFACTURA = new RepositorioFACTURA(context);
                    RepositorioCLIENTE _RepositorioCLIENTE = new RepositorioCLIENTE(context);
                    RepositorioVISTA_REPORTE_FACTURA _RepositorioVISTA_REPORTE_FACTURA = new RepositorioVISTA_REPORTE_FACTURA(context);

                    TIPO_COBRO _TIPO_COBRO = _RepositorioTIPO_COBRO.GetById(IdTipoCobro);
                    if (_TIPO_COBRO == null)
                        throw new Exception("No se encuentra información del tipo de cobro");

                    COBRO _COBRO = new COBRO();
                    _COBRO.FECHA_COBRO = DateTime.Now;
                    _COBRO.TIPO_COBRO = _TIPO_COBRO;
                    _COBRO.ACTIVO = true;
                    context.AddToCOBRO(_COBRO);

                    var cliente_facturas = (from f in _RepositorioFACTURACION.GetFacturasPorNotificar(FechaFacturacionDesde,
                        FechaFacturacionHasta, IdTipoCobro, IdCliente)
                                            group f by f.ID_CLIENTE into g
                                            select new
                                            {
                                                IdCliente = g.Key,
                                                Facturas = g
                                            }).ToList();

                    if (!cliente_facturas.Any())
                        throw new Exception("No hay facturas que notificar");

                    int correlativo = 1;
                    foreach (var cf in cliente_facturas)
                    {
                        CLIENTE _CLIENTE = _RepositorioCLIENTE.GetById(cf.IdCliente);
                        if (_CLIENTE == null)
                            throw new Exception("No se encuentra información del cliente");

                        NOTA_COBRO _NOTA_COBRO = new NOTA_COBRO();
                        _NOTA_COBRO.COBRO = _COBRO;
                        _NOTA_COBRO.CORRELATIVO = correlativo;
                        _NOTA_COBRO.CLIENTE = _CLIENTE;
                        _NOTA_COBRO.ACTIVO = true;
                        context.AddToNOTA_COBRO(_NOTA_COBRO);

                        foreach (var f in cf.Facturas)
                        {
                            FACTURA _FACTURA = _RepositorioFACTURA.GetById(f.ID);
                            if (_FACTURA == null)
                                throw new Exception("No se encuentra información de la factura ");

                            VISTA_REPORTE_FACTURA _VISTA_REPORTE_FACTURA = _RepositorioVISTA_REPORTE_FACTURA.GetById(f.ID);
                            if (_VISTA_REPORTE_FACTURA == null)
                                throw new Exception("No se encuentra información de la factura ");

                            NOTA_COBRO_DETALLE _NOTA_COBRO_DETALLE = new NOTA_COBRO_DETALLE();
                            _NOTA_COBRO_DETALLE.NOTA_COBRO = _NOTA_COBRO;
                            _NOTA_COBRO_DETALLE.FACTURA = _FACTURA;
                            if (_FACTURA.PAGADA.HasValue && _FACTURA.PAGADA.Value == true)
                            {
                                _NOTA_COBRO_DETALLE.MONTO_PENDIENTE = 0;
                            }
                            else
                            {
                                _NOTA_COBRO_DETALLE.MONTO_PENDIENTE = _VISTA_REPORTE_FACTURA.SALDO_DEUDOR ?? 0;
                            }
                            _NOTA_COBRO_DETALLE.ACTIVO = true;
                            context.AddToNOTA_COBRO_DETALLE(_NOTA_COBRO_DETALLE);
                        }

                        correlativo++;
                    }

                    context.SaveChanges();

                    try
                    {
                        ListaNotaCobro = GetReporteNotaCobroByID_COBRO(context, _COBRO.ID);

                        string deviceInfo =
                                      "<DeviceInfo>" +
                                      "  <OutputFormat>PDF</OutputFormat>" +
                                      "  <PageWidth>8.2in</PageWidth>" +
                                      "  <PageHeight>11.7in</PageHeight>" +
                                      "  <MarginTop>0in</MarginTop>" +
                                      "  <MarginLeft>0in</MarginLeft>" +
                                      "  <MarginRight>0in</MarginRight>" +
                                      "  <MarginBottom>0in</MarginBottom>" +
                                      "</DeviceInfo>";
                        Warning[] warnings;
                        m_streams_NotaCobro = new List<Stream>();

                        List<DTO_REPORTE_NOTA_COBRO> ListaNotaCobroEncabezado = (from nc in ListaNotaCobro
                                                                                 group nc by nc.CORRELATIVO into g
                                                                                 select new DTO_REPORTE_NOTA_COBRO
                                                                                 {
                                                                                     ID_COBRO = g.FirstOrDefault().ID_COBRO,
                                                                                     ID_CLIENTE = g.FirstOrDefault().ID_CLIENTE,
                                                                                     CORRELATIVO = g.Key,
                                                                                     NOMBRE_CLIENTE = g.FirstOrDefault().NOMBRE_CLIENTE,
                                                                                     RUT_CLIENTE = g.FirstOrDefault().RUT_CLIENTE,
                                                                                     NOMBRE_REPORTE = g.FirstOrDefault().NOMBRE_REPORTE,
                                                                                 }).ToList();

                        // Documento 1: Un archivo con todas las notas de cobro emitidas
                        Hashtable propiedades = new Hashtable();
                        propiedades.Add("Fecha de Documento", _COBRO.FECHA_COBRO);
                        propiedades.Add("Tipo de Documento", "Nota de Cobro " + ListaNotaCobroEncabezado.FirstOrDefault().NOMBRE_REPORTE);
                        propiedades.Add("Formato", "Consolidado");

                        ReportViewer _ReportViewer = new ReportViewer();
                        _ReportViewer.ProcessingMode = ProcessingMode.Local;
                        _ReportViewer.LocalReport.ShowDetailedSubreportMessages = true;
                        _ReportViewer.LocalReport.DataSources.Clear();
                        _ReportViewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", ListaNotaCobroEncabezado));
                        _ReportViewer.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(ReporteNotaCobro_SubreportProcessingEventHandler);
                        _ReportViewer.LocalReport.ReportEmbeddedResource = "LQCE.Transaccion.Reporte." + ListaNotaCobroEncabezado.FirstOrDefault().NOMBRE_REPORTE;

                        _ReportViewer.LocalReport.Render("PDF", deviceInfo, CreateStreamNotaCobro, out warnings);
                        foreach (Stream stream in m_streams_NotaCobro)
                            stream.Position = 0;

                        using (SPWeb spWeb = new SPSite(Settings.Default.SP_WEB).OpenWeb())
                        {
                            SPList spList = spWeb.GetList(Settings.Default.SP_LIBRERIA_FACTURAS);
                            string strNombreFactura = DateTime.Now.ToString("yyyyMMddhhmmss") + "_NotaCobro_" + _COBRO.TIPO_COBRO.NOMBRE + ".pdf";
                            spList.RootFolder.Files.Add(spList.RootFolder.Url + "/" + strNombreFactura, m_streams_NotaCobro[0], propiedades, true);
                            spList.Update();
                        }

                        foreach (var item in ListaNotaCobroEncabezado)
                        {
                            m_streams_NotaCobroIndividual = new List<Stream>();
                            // Documento 2: Un archivo por cada detalles de facturas
                            List<DTO_REPORTE_NOTA_COBRO> LISTA_DTO_REPORTE_NOTA_COBRO2 = new List<DTO_REPORTE_NOTA_COBRO>();
                            LISTA_DTO_REPORTE_NOTA_COBRO2.Add(item);

                            Hashtable propiedadesDetalle = new Hashtable();
                            propiedadesDetalle.Add("Fecha de Documento", _COBRO.FECHA_COBRO);
                            propiedadesDetalle.Add("Tipo de Documento", "Nota de Cobro " + item.NOMBRE_REPORTE);
                            propiedadesDetalle.Add("Formato", "Individual");
                            propiedadesDetalle.Add("RUT Cliente", item.RUT_CLIENTE);
                            propiedadesDetalle.Add("Nombre Cliente", item.NOMBRE_CLIENTE);

                            ReportViewer _ReportViewerDetalle = new ReportViewer();
                            _ReportViewerDetalle.ProcessingMode = ProcessingMode.Local;
                            _ReportViewerDetalle.LocalReport.ShowDetailedSubreportMessages = true;
                            _ReportViewerDetalle.LocalReport.DataSources.Clear();
                            _ReportViewerDetalle.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", LISTA_DTO_REPORTE_NOTA_COBRO2));
                            _ReportViewerDetalle.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(ReporteNotaCobro_SubreportProcessingEventHandler);
                            _ReportViewerDetalle.LocalReport.ReportEmbeddedResource = "LQCE.Transaccion.Reporte." + item.NOMBRE_REPORTE;

                            _ReportViewerDetalle.LocalReport.Render("PDF", deviceInfo, CreateStreamNotaCobroIndividual, out warnings);
                            foreach (Stream stream in m_streams_NotaCobroIndividual)
                                stream.Position = 0;

                            using (SPWeb spWeb = new SPSite(Settings.Default.SP_WEB).OpenWeb())
                            {
                                SPList spList = spWeb.GetList(Settings.Default.SP_LIBRERIA_FACTURAS);
                                string strNombreFactura = DateTime.Now.ToString("yyyyMMddhhmmss") + "_NotaCobroIndividual_" + _COBRO.TIPO_COBRO.NOMBRE + "_" + item.NOMBRE_CLIENTE + ".pdf";
                                spList.RootFolder.Files.Add(spList.RootFolder.Url + "/" + strNombreFactura, m_streams_NotaCobroIndividual[0], propiedadesDetalle, true);
                                spList.Update();
                            }
                        }

                    }
                    catch (Exception ex)
                    {
                        RepositorioCOBRO _RepositorioCOBRO = new RepositorioCOBRO(context);
                        COBRO _NUEVO_COBRO = _RepositorioCOBRO.GetByIdWithReferences(_COBRO.ID);

                        _NUEVO_COBRO.ACTIVO = false;
                        foreach (var _NOTA_COBRO in _NUEVO_COBRO.NOTA_COBRO)
                        {
                            _NOTA_COBRO.ACTIVO = false;
                            foreach (var _NOTA_COBRO_DETALLE in _NOTA_COBRO.NOTA_COBRO_DETALLE)
                            {
                                _NOTA_COBRO_DETALLE.ACTIVO = false;
                                context.ApplyPropertyChanges("NOTA_COBRO_DETALLE", _NOTA_COBRO_DETALLE);
                            }
                            context.ApplyPropertyChanges("NOTA_COBRO", _NOTA_COBRO);
                        }
                        context.ApplyPropertyChanges("COBRO", _NUEVO_COBRO);
                        context.SaveChanges();
                        throw ex;
                    }
                }
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
예제 #19
0
        public void Update(int Id, int CLIENTEId, int FECHA_PAGO, int MONTO_PAGO)
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioPAGO repositorio = new RepositorioPAGO(context);
                    PAGO _PAGO = repositorio.GetById(Id);
                    if(Equals(_PAGO,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado PAGO con Id =",Id.ToString()));
                    }

                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE _objCLIENTE = _repositorioCLIENTE.GetById(CLIENTEId);
                    if(Equals(_objCLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",CLIENTEId.ToString()));
                    }

                    //properties

                        _PAGO.FECHA_PAGO = FECHA_PAGO;
                        _PAGO.MONTO_PAGO = MONTO_PAGO;

                    //parents

                    _PAGO.CLIENTE = _objCLIENTE;

                    context.SaveChanges();
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                 throw ex;
            }
        }
        public int Add(int CARGA_PRESTACIONES_DETALLE_ESTADOId, int CARGA_PRESTACIONES_ENCABEZADOId, int CLIENTEId, int ESPECIE1Id, int GARANTIA1Id, int PREVISIONId, int RAZA1Id, System.DateTime FECHA_ACTUALIZACION, string FICHA = "", string NOMBRE = "", string ESPECIE = "", string RAZA = "", string EDAD = "", string SEXO = "", string SOLICITA = "", string TELEFONO = "", string MEDICO = "", string PROCEDENCIA = "", string FECHA_RECEPCION = "", string FECHA_MUESTRA = "", string FECHA_RESULTADOS = "", string PENDIENTE = "", string GARANTIA = "", string PAGADO = "", string TOTAL = "", string FICHA_CLINICA = "", string RECEPCION = "", string MENSAJE_ERROR = "", int? VALOR_FICHA = null, DateTime? VALOR_FECHA_MUESTRA = null, DateTime? VALOR_FECHA_RECEPCION = null, DateTime? VALOR_FECHA_ENTREGA_RESULTADOS = null, int? VALOR_FICHA_CLINICA = null, int? VALOR_TOTAL = null)
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO _repositorioCARGA_PRESTACIONES_DETALLE_ESTADO = new RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO(context);
                    CARGA_PRESTACIONES_DETALLE_ESTADO _objCARGA_PRESTACIONES_DETALLE_ESTADO = _repositorioCARGA_PRESTACIONES_DETALLE_ESTADO.GetById(CARGA_PRESTACIONES_DETALLE_ESTADOId);
                    if(Equals(_objCARGA_PRESTACIONES_DETALLE_ESTADO,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CARGA_PRESTACIONES_DETALLE_ESTADO con Id =",CARGA_PRESTACIONES_DETALLE_ESTADOId.ToString()));
                    }

                    RepositorioCARGA_PRESTACIONES_ENCABEZADO _repositorioCARGA_PRESTACIONES_ENCABEZADO = new RepositorioCARGA_PRESTACIONES_ENCABEZADO(context);
                    CARGA_PRESTACIONES_ENCABEZADO _objCARGA_PRESTACIONES_ENCABEZADO = _repositorioCARGA_PRESTACIONES_ENCABEZADO.GetById(CARGA_PRESTACIONES_ENCABEZADOId);
                    if(Equals(_objCARGA_PRESTACIONES_ENCABEZADO,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CARGA_PRESTACIONES_ENCABEZADO con Id =",CARGA_PRESTACIONES_ENCABEZADOId.ToString()));
                    }

                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE _objCLIENTE = _repositorioCLIENTE.GetById(CLIENTEId);
                    if(Equals(_objCLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",CLIENTEId.ToString()));
                    }

                    RepositorioESPECIE _repositorioESPECIE1 = new RepositorioESPECIE(context);
                    ESPECIE _objESPECIE1 = _repositorioESPECIE1.GetById(ESPECIE1Id);
                    if(Equals(_objESPECIE1,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado ESPECIE1 con Id =",ESPECIE1Id.ToString()));
                    }

                    RepositorioGARANTIA _repositorioGARANTIA1 = new RepositorioGARANTIA(context);
                    GARANTIA _objGARANTIA1 = _repositorioGARANTIA1.GetById(GARANTIA1Id);
                    if(Equals(_objGARANTIA1,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado GARANTIA1 con Id =",GARANTIA1Id.ToString()));
                    }

                    RepositorioPREVISION _repositorioPREVISION = new RepositorioPREVISION(context);
                    PREVISION _objPREVISION = _repositorioPREVISION.GetById(PREVISIONId);
                    if(Equals(_objPREVISION,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado PREVISION con Id =",PREVISIONId.ToString()));
                    }

                    RepositorioRAZA _repositorioRAZA1 = new RepositorioRAZA(context);
                    RAZA _objRAZA1 = _repositorioRAZA1.GetById(RAZA1Id);
                    if(Equals(_objRAZA1,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado RAZA1 con Id =",RAZA1Id.ToString()));
                    }

                    CARGA_PRESTACIONES_VETERINARIAS_DETALLE _CARGA_PRESTACIONES_VETERINARIAS_DETALLE = new CARGA_PRESTACIONES_VETERINARIAS_DETALLE();

                    //properties

                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.FICHA = FICHA;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.NOMBRE = NOMBRE;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.ESPECIE = ESPECIE;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.RAZA = RAZA;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.EDAD = EDAD;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.SEXO = SEXO;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.SOLICITA = SOLICITA;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.TELEFONO = TELEFONO;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.MEDICO = MEDICO;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.PROCEDENCIA = PROCEDENCIA;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.FECHA_RECEPCION = FECHA_RECEPCION;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.FECHA_MUESTRA = FECHA_MUESTRA;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.FECHA_RESULTADOS = FECHA_RESULTADOS;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.PENDIENTE = PENDIENTE;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.GARANTIA = GARANTIA;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.PAGADO = PAGADO;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.TOTAL = TOTAL;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.FICHA_CLINICA = FICHA_CLINICA;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.RECEPCION = RECEPCION;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.MENSAJE_ERROR = MENSAJE_ERROR;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.FECHA_ACTUALIZACION = FECHA_ACTUALIZACION;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FICHA = VALOR_FICHA;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FECHA_MUESTRA = VALOR_FECHA_MUESTRA;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FECHA_RECEPCION = VALOR_FECHA_RECEPCION;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FECHA_ENTREGA_RESULTADOS = VALOR_FECHA_ENTREGA_RESULTADOS;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FICHA_CLINICA = VALOR_FICHA_CLINICA;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_TOTAL = VALOR_TOTAL;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.ACTIVO = true;

                    //parents

                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.CARGA_PRESTACIONES_DETALLE_ESTADO = _objCARGA_PRESTACIONES_DETALLE_ESTADO;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.CARGA_PRESTACIONES_ENCABEZADO = _objCARGA_PRESTACIONES_ENCABEZADO;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.CLIENTE = _objCLIENTE;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.ESPECIE1 = _objESPECIE1;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.GARANTIA1 = _objGARANTIA1;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.PREVISION = _objPREVISION;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.RAZA1 = _objRAZA1;

                    context.AddObject("CARGA_PRESTACIONES_VETERINARIAS_DETALLE",_CARGA_PRESTACIONES_VETERINARIAS_DETALLE);
                    context.SaveChanges();

                    return _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.ID;
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
        public void Update(int Id, int CARGA_PRESTACIONES_DETALLE_ESTADOId, int CARGA_PRESTACIONES_ENCABEZADOId, int CLIENTEId, int ESPECIE1Id, int GARANTIA1Id, int PREVISIONId, int RAZA1Id, System.DateTime FECHA_ACTUALIZACION, string FICHA = "", string NOMBRE = "", string ESPECIE = "", string RAZA = "", string EDAD = "", string SEXO = "", string SOLICITA = "", string TELEFONO = "", string MEDICO = "", string PROCEDENCIA = "", string FECHA_RECEPCION = "", string FECHA_MUESTRA = "", string FECHA_RESULTADOS = "", string PENDIENTE = "", string GARANTIA = "", string PAGADO = "", string TOTAL = "", string FICHA_CLINICA = "", string RECEPCION = "", string MENSAJE_ERROR = "", int? VALOR_FICHA = null, DateTime? VALOR_FECHA_MUESTRA = null, DateTime? VALOR_FECHA_RECEPCION = null, DateTime? VALOR_FECHA_ENTREGA_RESULTADOS = null, int? VALOR_FICHA_CLINICA = null, int? VALOR_TOTAL = null)
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE repositorio = new RepositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE(context);
                    CARGA_PRESTACIONES_VETERINARIAS_DETALLE _CARGA_PRESTACIONES_VETERINARIAS_DETALLE = repositorio.GetById(Id);
                    if(Equals(_CARGA_PRESTACIONES_VETERINARIAS_DETALLE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CARGA_PRESTACIONES_VETERINARIAS_DETALLE con Id =",Id.ToString()));
                    }

                    RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO _repositorioCARGA_PRESTACIONES_DETALLE_ESTADO = new RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO(context);
                    CARGA_PRESTACIONES_DETALLE_ESTADO _objCARGA_PRESTACIONES_DETALLE_ESTADO = _repositorioCARGA_PRESTACIONES_DETALLE_ESTADO.GetById(CARGA_PRESTACIONES_DETALLE_ESTADOId);
                    if(Equals(_objCARGA_PRESTACIONES_DETALLE_ESTADO,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CARGA_PRESTACIONES_DETALLE_ESTADO con Id =",CARGA_PRESTACIONES_DETALLE_ESTADOId.ToString()));
                    }

                    RepositorioCARGA_PRESTACIONES_ENCABEZADO _repositorioCARGA_PRESTACIONES_ENCABEZADO = new RepositorioCARGA_PRESTACIONES_ENCABEZADO(context);
                    CARGA_PRESTACIONES_ENCABEZADO _objCARGA_PRESTACIONES_ENCABEZADO = _repositorioCARGA_PRESTACIONES_ENCABEZADO.GetById(CARGA_PRESTACIONES_ENCABEZADOId);
                    if(Equals(_objCARGA_PRESTACIONES_ENCABEZADO,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CARGA_PRESTACIONES_ENCABEZADO con Id =",CARGA_PRESTACIONES_ENCABEZADOId.ToString()));
                    }

                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE _objCLIENTE = _repositorioCLIENTE.GetById(CLIENTEId);
                    if(Equals(_objCLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",CLIENTEId.ToString()));
                    }

                    RepositorioESPECIE _repositorioESPECIE1 = new RepositorioESPECIE(context);
                    ESPECIE _objESPECIE1 = _repositorioESPECIE1.GetById(ESPECIE1Id);
                    if(Equals(_objESPECIE1,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado ESPECIE1 con Id =",ESPECIE1Id.ToString()));
                    }

                    RepositorioGARANTIA _repositorioGARANTIA1 = new RepositorioGARANTIA(context);
                    GARANTIA _objGARANTIA1 = _repositorioGARANTIA1.GetById(GARANTIA1Id);
                    if(Equals(_objGARANTIA1,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado GARANTIA1 con Id =",GARANTIA1Id.ToString()));
                    }

                    RepositorioPREVISION _repositorioPREVISION = new RepositorioPREVISION(context);
                    PREVISION _objPREVISION = _repositorioPREVISION.GetById(PREVISIONId);
                    if(Equals(_objPREVISION,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado PREVISION con Id =",PREVISIONId.ToString()));
                    }

                    RepositorioRAZA _repositorioRAZA1 = new RepositorioRAZA(context);
                    RAZA _objRAZA1 = _repositorioRAZA1.GetById(RAZA1Id);
                    if(Equals(_objRAZA1,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado RAZA1 con Id =",RAZA1Id.ToString()));
                    }

                    //properties

                    if (!string.IsNullOrEmpty(FICHA))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.FICHA = FICHA;
                    }
                    if (!string.IsNullOrEmpty(NOMBRE))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.NOMBRE = NOMBRE;
                    }
                    if (!string.IsNullOrEmpty(ESPECIE))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.ESPECIE = ESPECIE;
                    }
                    if (!string.IsNullOrEmpty(RAZA))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.RAZA = RAZA;
                    }
                    if (!string.IsNullOrEmpty(EDAD))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.EDAD = EDAD;
                    }
                    if (!string.IsNullOrEmpty(SEXO))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.SEXO = SEXO;
                    }
                    if (!string.IsNullOrEmpty(SOLICITA))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.SOLICITA = SOLICITA;
                    }
                    if (!string.IsNullOrEmpty(TELEFONO))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.TELEFONO = TELEFONO;
                    }
                    if (!string.IsNullOrEmpty(MEDICO))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.MEDICO = MEDICO;
                    }
                    if (!string.IsNullOrEmpty(PROCEDENCIA))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.PROCEDENCIA = PROCEDENCIA;
                    }
                    if (!string.IsNullOrEmpty(FECHA_RECEPCION))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.FECHA_RECEPCION = FECHA_RECEPCION;
                    }
                    if (!string.IsNullOrEmpty(FECHA_MUESTRA))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.FECHA_MUESTRA = FECHA_MUESTRA;
                    }
                    if (!string.IsNullOrEmpty(FECHA_RESULTADOS))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.FECHA_RESULTADOS = FECHA_RESULTADOS;
                    }
                    if (!string.IsNullOrEmpty(PENDIENTE))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.PENDIENTE = PENDIENTE;
                    }
                    if (!string.IsNullOrEmpty(GARANTIA))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.GARANTIA = GARANTIA;
                    }
                    if (!string.IsNullOrEmpty(PAGADO))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.PAGADO = PAGADO;
                    }
                    if (!string.IsNullOrEmpty(TOTAL))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.TOTAL = TOTAL;
                    }
                    if (!string.IsNullOrEmpty(FICHA_CLINICA))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.FICHA_CLINICA = FICHA_CLINICA;
                    }
                    if (!string.IsNullOrEmpty(RECEPCION))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.RECEPCION = RECEPCION;
                    }
                    if (!string.IsNullOrEmpty(MENSAJE_ERROR))
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.MENSAJE_ERROR = MENSAJE_ERROR;
                    }
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.FECHA_ACTUALIZACION = FECHA_ACTUALIZACION;
                    if (VALOR_FICHA.HasValue)
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FICHA = VALOR_FICHA.Value;
                    }
                    if (VALOR_FECHA_MUESTRA.HasValue)
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FECHA_MUESTRA = VALOR_FECHA_MUESTRA.Value;
                    }
                    if (VALOR_FECHA_RECEPCION.HasValue)
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FECHA_RECEPCION = VALOR_FECHA_RECEPCION.Value;
                    }
                    if (VALOR_FECHA_ENTREGA_RESULTADOS.HasValue)
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FECHA_ENTREGA_RESULTADOS = VALOR_FECHA_ENTREGA_RESULTADOS.Value;
                    }
                    if (VALOR_FICHA_CLINICA.HasValue)
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_FICHA_CLINICA = VALOR_FICHA_CLINICA.Value;
                    }
                    if (VALOR_TOTAL.HasValue)
                    {
                        _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.VALOR_TOTAL = VALOR_TOTAL.Value;
                    }

                    //parents

                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.CARGA_PRESTACIONES_DETALLE_ESTADO = _objCARGA_PRESTACIONES_DETALLE_ESTADO;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.CARGA_PRESTACIONES_ENCABEZADO = _objCARGA_PRESTACIONES_ENCABEZADO;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.CLIENTE = _objCLIENTE;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.ESPECIE1 = _objESPECIE1;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.GARANTIA1 = _objGARANTIA1;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.PREVISION = _objPREVISION;
                    _CARGA_PRESTACIONES_VETERINARIAS_DETALLE.RAZA1 = _objRAZA1;

                    context.SaveChanges();
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                 throw ex;
            }
        }
예제 #22
0
        public int Add(int CLIENTEId, int FACTURACIONId, int TIPO_FACTURAId, int CORRELATIVO, string RUT_LABORATORIO, int NETO, int IVA, int TOTAL, string NOMBRE_CLIENTE = "", string RUT_CLIENTE = "", string DIRECCION = "", string NOMBRE_COMUNA = "", int? NUMERO_FACTURA = null, int? DESCUENTO = null, string FONO = "", string GIRO = "", string DETALLE = "", bool? PAGADA = null)
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE _objCLIENTE = _repositorioCLIENTE.GetById(CLIENTEId);
                    if(Equals(_objCLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",CLIENTEId.ToString()));
                    }

                    RepositorioFACTURACION _repositorioFACTURACION = new RepositorioFACTURACION(context);
                    FACTURACION _objFACTURACION = _repositorioFACTURACION.GetById(FACTURACIONId);
                    if(Equals(_objFACTURACION,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado FACTURACION con Id =",FACTURACIONId.ToString()));
                    }

                    RepositorioTIPO_FACTURA _repositorioTIPO_FACTURA = new RepositorioTIPO_FACTURA(context);
                    TIPO_FACTURA _objTIPO_FACTURA = _repositorioTIPO_FACTURA.GetById(TIPO_FACTURAId);
                    if(Equals(_objTIPO_FACTURA,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado TIPO_FACTURA con Id =",TIPO_FACTURAId.ToString()));
                    }

                    FACTURA _FACTURA = new FACTURA();

                    //properties

                    _FACTURA.CORRELATIVO = CORRELATIVO;
                    _FACTURA.NOMBRE_CLIENTE = NOMBRE_CLIENTE;
                    _FACTURA.RUT_CLIENTE = RUT_CLIENTE;
                    _FACTURA.DIRECCION = DIRECCION;
                    _FACTURA.NOMBRE_COMUNA = NOMBRE_COMUNA;
                    _FACTURA.NUMERO_FACTURA = NUMERO_FACTURA;
                    _FACTURA.RUT_LABORATORIO = RUT_LABORATORIO;
                    _FACTURA.DESCUENTO = DESCUENTO;
                    _FACTURA.FONO = FONO;
                    _FACTURA.GIRO = GIRO;
                    _FACTURA.DETALLE = DETALLE;
                    _FACTURA.NETO = NETO;
                    _FACTURA.IVA = IVA;
                    _FACTURA.TOTAL = TOTAL;
                    _FACTURA.PAGADA = PAGADA;
                    _FACTURA.ACTIVO = true;

                    //parents

                    _FACTURA.CLIENTE = _objCLIENTE;
                    _FACTURA.FACTURACION = _objFACTURACION;
                    _FACTURA.TIPO_FACTURA = _objTIPO_FACTURA;

                    context.AddObject("FACTURA",_FACTURA);
                    context.SaveChanges();

                    return _FACTURA.ID;
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
예제 #23
0
        public void Update(int Id, int CLIENTEId, int GARANTIAId, int PREVISIONId, int TIPO_PRESTACIONId, System.DateTime FECHA_RECEPCION, string MEDICO = "", string RECEPCION = "", string PENDIENTE = "")
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioPRESTACION repositorio = new RepositorioPRESTACION(context);
                    PRESTACION _PRESTACION = repositorio.GetById(Id);
                    if(Equals(_PRESTACION,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado PRESTACION con Id =",Id.ToString()));
                    }

                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE _objCLIENTE = _repositorioCLIENTE.GetById(CLIENTEId);
                    if(Equals(_objCLIENTE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =",CLIENTEId.ToString()));
                    }

                    RepositorioGARANTIA _repositorioGARANTIA = new RepositorioGARANTIA(context);
                    GARANTIA _objGARANTIA = _repositorioGARANTIA.GetById(GARANTIAId);
                    if(Equals(_objGARANTIA,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado GARANTIA con Id =",GARANTIAId.ToString()));
                    }

                    RepositorioPREVISION _repositorioPREVISION = new RepositorioPREVISION(context);
                    PREVISION _objPREVISION = _repositorioPREVISION.GetById(PREVISIONId);
                    if(Equals(_objPREVISION,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado PREVISION con Id =",PREVISIONId.ToString()));
                    }

                    RepositorioTIPO_PRESTACION _repositorioTIPO_PRESTACION = new RepositorioTIPO_PRESTACION(context);
                    TIPO_PRESTACION _objTIPO_PRESTACION = _repositorioTIPO_PRESTACION.GetById(TIPO_PRESTACIONId);
                    if(Equals(_objTIPO_PRESTACION,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado TIPO_PRESTACION con Id =",TIPO_PRESTACIONId.ToString()));
                    }

                    //properties

                    if (!string.IsNullOrEmpty(MEDICO))
                    {
                        _PRESTACION.MEDICO = MEDICO;
                    }
                        _PRESTACION.FECHA_RECEPCION = FECHA_RECEPCION;
                    if (!string.IsNullOrEmpty(RECEPCION))
                    {
                        _PRESTACION.RECEPCION = RECEPCION;
                    }
                    if (!string.IsNullOrEmpty(PENDIENTE))
                    {
                        _PRESTACION.PENDIENTE = PENDIENTE;
                    }

                    //parents

                    _PRESTACION.CLIENTE = _objCLIENTE;
                    _PRESTACION.GARANTIA = _objGARANTIA;
                    _PRESTACION.PREVISION = _objPREVISION;
                    _PRESTACION.TIPO_PRESTACION = _objTIPO_PRESTACION;

                    context.SaveChanges();
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                 throw ex;
            }
        }