public int Add(int EXAMENId, int CARGA_PRESTACIONES_VETERINARIAS_DETALLEId, System.DateTime FECHA_ACTUALIZACION, string NOMBRE_EXAMEN = "", string VALOR_EXAMEN = "", int? VALOR_VALOR_EXAMEN = null)
        {
            Init();
            try
            {
                 using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioEXAMEN _repositorioEXAMEN = new RepositorioEXAMEN(context);
                    EXAMEN _objEXAMEN = _repositorioEXAMEN.GetById(EXAMENId);
                    if(Equals(_objEXAMEN,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado EXAMEN con Id =",EXAMENId.ToString()));
                    }

                    RepositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE _repositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE = new RepositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE(context);
                    CARGA_PRESTACIONES_VETERINARIAS_DETALLE _objCARGA_PRESTACIONES_VETERINARIAS_DETALLE = _repositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE.GetById(CARGA_PRESTACIONES_VETERINARIAS_DETALLEId);
                    if(Equals(_objCARGA_PRESTACIONES_VETERINARIAS_DETALLE,null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CARGA_PRESTACIONES_VETERINARIAS_DETALLE con Id =",CARGA_PRESTACIONES_VETERINARIAS_DETALLEId.ToString()));
                    }

                    CARGA_PRESTACIONES_VETERINARIAS_EXAMEN _CARGA_PRESTACIONES_VETERINARIAS_EXAMEN = new CARGA_PRESTACIONES_VETERINARIAS_EXAMEN();

                    //properties

                    _CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.NOMBRE_EXAMEN = NOMBRE_EXAMEN;
                    _CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.VALOR_EXAMEN = VALOR_EXAMEN;
                    _CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.FECHA_ACTUALIZACION = FECHA_ACTUALIZACION;
                    _CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.VALOR_VALOR_EXAMEN = VALOR_VALOR_EXAMEN;
                    _CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.ACTIVO = true;

                    //parents

                    _CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.EXAMEN = _objEXAMEN;
                    _CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.CARGA_PRESTACIONES_VETERINARIAS_DETALLE = _objCARGA_PRESTACIONES_VETERINARIAS_DETALLE;

                    context.AddObject("CARGA_PRESTACIONES_VETERINARIAS_EXAMEN",_CARGA_PRESTACIONES_VETERINARIAS_EXAMEN);
                    context.SaveChanges();

                    return _CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.ID;
                }
            }
            catch(Exception ex)
            {
                 ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
Ejemplo n.º 2
0
 public DTOExamen(CARGA_PRESTACIONES_VETERINARIAS_EXAMEN objExamen)
 {
     NOMBRE_EXAMEN = objExamen.NOMBRE_EXAMEN;
     ID = objExamen.ID;
     VALOR_EXAMEN = objExamen.VALOR_EXAMEN;
 }
        public DTO_RESULTADO_ACTUALIZACION_FICHA ActualizarCargaPrestacionVeterinarias(int IdCargaPrestacionVeterinariaDetalle, 
            string Ficha, string Nombre,
            string Especie, string Raza, string Sexo, string Edad, string Telefono, string Procedencia,
            string Garantia, string Pendiente, string Total, string Recepcion,
            string Medico, string Solicitante, string FechaRecepcion, string FichaClinica,
            int IdCargaPrestacionesDetalleEstado, string MensajeError,
            List<DTOExamen> Examenes)
        {
            Init();
            try
            {
                using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE _RepositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE = new RepositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE(context);

                    RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO _RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO = new RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO(context);

                    var objEstadoDetalle = _RepositorioCARGA_PRESTACIONES_DETALLE_ESTADO.GetById(IdCargaPrestacionesDetalleEstado);
                    if (objEstadoDetalle == null)
                        throw new Exception("No se encuentra estado de detalle");

                    var objDetalle = _RepositorioCARGA_PRESTACIONES_VETERINARIAS_DETALLE.GetByIdWithReferencesFull(IdCargaPrestacionVeterinariaDetalle);
                    if (objDetalle.CARGA_PRESTACIONES_ENCABEZADO.CARGA_PRESTACIONES_ESTADO.ID != (int)ENUM_CARGA_PRESTACIONES_ESTADO.Pendiente)
                        throw new Exception("La carga seleccionada no se encuentra en proceso de Revisión Pendiente");

                    objDetalle.FICHA = Ficha;
                    objDetalle.NOMBRE = Nombre;
                    objDetalle.ESPECIE = Especie;
                    objDetalle.RAZA = Raza;
                    objDetalle.SEXO = Sexo;
                    objDetalle.EDAD = Edad;
                    objDetalle.TELEFONO = Telefono;
                    objDetalle.PROCEDENCIA = Procedencia;
                    objDetalle.GARANTIA = Garantia;
                    objDetalle.PENDIENTE = Pendiente;
                    objDetalle.TOTAL = Total;
                    objDetalle.RECEPCION = Recepcion;
                    objDetalle.MEDICO = Medico;
                    objDetalle.SOLICITA = Solicitante;
                    objDetalle.FECHA_RECEPCION = FechaRecepcion;
                    objDetalle.FICHA_CLINICA = FichaClinica;
                    objDetalle.CARGA_PRESTACIONES_DETALLE_ESTADO = objEstadoDetalle;
                    objDetalle.MENSAJE_ERROR = MensajeError;
                    objDetalle.FECHA_ACTUALIZACION = DateTime.Now;
                    context.ApplyPropertyChanges("CARGA_PRESTACIONES_VETERINARIAS_DETALLE", objDetalle);

                    // Eliminar filas de examenes
                    foreach (var objExamen in objDetalle.CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.Where(obj => obj.ACTIVO && !Examenes.Any(dtoExamen => dtoExamen.ID == obj.ID)).ToList())
                    {
                        objExamen.ACTIVO = false;
                        context.ApplyPropertyChanges("CARGA_PRESTACIONES_VETERINARIAS_EXAMEN", objExamen);
                    }

                    // Actualizar filas de examenes
                    foreach (var objExamen in objDetalle.CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.Where(obj => obj.ACTIVO && Examenes.Any(dtoExamen => dtoExamen.ID == obj.ID)).ToList())
                    {
                        var dtoExamen = Examenes.First(d => d.ID == objExamen.ID);
                        objExamen.NOMBRE_EXAMEN = dtoExamen.NOMBRE_EXAMEN;
                        objExamen.VALOR_EXAMEN = dtoExamen.VALOR_EXAMEN;
                        objExamen.ACTIVO = true;
                        context.ApplyPropertyChanges("CARGA_PRESTACIONES_VETERINARIAS_EXAMEN", objExamen);
                    }

                    // Nuevas filas de examenes
                    foreach (var dtoExamen in Examenes.Where(dto => !objDetalle.CARGA_PRESTACIONES_VETERINARIAS_EXAMEN.Any(obj => obj.ID == dto.ID)).ToList())
                    {
                        CARGA_PRESTACIONES_VETERINARIAS_EXAMEN objExamen = new CARGA_PRESTACIONES_VETERINARIAS_EXAMEN();
                        objExamen.CARGA_PRESTACIONES_VETERINARIAS_DETALLE = objDetalle;
                        objExamen.NOMBRE_EXAMEN = dtoExamen.NOMBRE_EXAMEN;
                        objExamen.VALOR_EXAMEN = dtoExamen.VALOR_EXAMEN;
                        objExamen.ACTIVO = true;
                        objExamen.FECHA_ACTUALIZACION = DateTime.Now;
                        context.AddToCARGA_PRESTACIONES_VETERINARIAS_EXAMEN(objExamen);
                    }

                    DTO_RESULTADO_ACTUALIZACION_FICHA dtoResultado = new DTO_RESULTADO_ACTUALIZACION_FICHA();
                    dtoResultado.ERRORES_VALIDACION = ValidarPrestacionVeterinaria(context, objDetalle);
                    dtoResultado.RESULTADO = !dtoResultado.ERRORES_VALIDACION.Any();

                    context.SaveChanges();

                    return dtoResultado;
                }
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
 private void AgregarExamenVeterinario(LQCEEntities context, CARGA_PRESTACIONES_VETERINARIAS_DETALLE objDetalle, DataRow item, string ColumnaExamen, string ColumnaValor)
 {
     if (!string.IsNullOrEmpty(item[ColumnaExamen].ToString()) || !string.IsNullOrEmpty(item[ColumnaValor].ToString()))
     {
         CARGA_PRESTACIONES_VETERINARIAS_EXAMEN objExamen = new CARGA_PRESTACIONES_VETERINARIAS_EXAMEN();
         objExamen.CARGA_PRESTACIONES_VETERINARIAS_DETALLE = objDetalle;
         objExamen.NOMBRE_EXAMEN = item[ColumnaExamen].ToString();
         objExamen.VALOR_EXAMEN = item[ColumnaValor].ToString();
         objExamen.ACTIVO = true;
         objExamen.FECHA_ACTUALIZACION = DateTime.Now;
         objExamen.EXAMEN = null;
         context.AddToCARGA_PRESTACIONES_VETERINARIAS_EXAMEN(objExamen);
     }
 }