Beispiel #1
0
        /// <summary>
        /// Obtiene referencias de solicitudes de prestamo.
        /// </summary>
        /// <param name="SOLICITUDES_ID"></param>
        /// <param name="REFERENCIAS_TIPO"></param>
        /// <returns>Lista de referencias de solicitudes de prestamo.</returns>
        public List<referencia_x_solicitud> GetReferenciasXSolicitud(int SOLICITUDES_ID = 0, string REFERENCIAS_TIPO = "")
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.solicitudes_prestamos", "SOLICITUDES_ID", SOLICITUDES_ID);

                    Object solic = null;

                    if (db.TryGetObjectByKey(k, out solic))
                    {
                        solicitud_prestamo solicitud = (solicitud_prestamo)solic;

                        var query = from rs in solicitud.referencias_x_solicitudes
                                    where string.IsNullOrEmpty(REFERENCIAS_TIPO) ? true : rs.REFERENCIAS_TIPO == REFERENCIAS_TIPO
                                    select rs;

                        return query.ToList<referencia_x_solicitud>();
                    }
                    else
                        return new List<referencia_x_solicitud>();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener referencias por solicitud de prestamo.", ex);
                throw;
            }
        }
        /// <summary>
        /// Actualiza estado de nota de peso con su detalle. Actualiza privilegio y notificacion.
        /// </summary>
        /// <param name="ESTADOS_NOTA_ID"></param>
        /// <param name="ESTADOS_NOTA_SIGUIENTE"></param>
        /// <param name="ESTADOS_NOTA_NOMBRE"></param>
        /// <param name="ESTADOS_NOTA_DESCRIPCION"></param>
        /// <param name="ESTADOS_NOTA_ES_CATACION"></param>
        /// <param name="ESTADOS_NOTA_ESTADO"></param>
        /// <param name="MODIFICADO_POR"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_FECHA"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_ESTADO"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_SOCIO_ID"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE"></param>
        /// <param name="ESTADOS_DETALLE_SHOW_INFO_SOCIO"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_DETALLE"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_TARA"></param>
        /// <param name="ESTADOS_DETALLE_SHOW_DESCUENTOS"></param>
        /// <param name="ESTADOS_DETALLE_SHOW_TOTAL"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN"></param>
        /// <param name="ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN"></param>
        /// <param name="PLANTILLAS_MENSAJE"></param>
        public void ActualizarEstadoNotaDePeso
            (int ESTADOS_NOTA_ID,
            int? ESTADOS_NOTA_SIGUIENTE,
            string ESTADOS_NOTA_NOMBRE,
            string ESTADOS_NOTA_DESCRIPCION,
            bool ESTADOS_NOTA_ES_CATACION,
            bool ESTADOS_NOTA_ESTADO,
            string MODIFICADO_POR,
            bool ESTADOS_DETALLE_ENABLE_FECHA,
            int ESTADOS_DETALLE_ENABLE_ESTADO,
            int ESTADOS_DETALLE_ENABLE_SOCIO_ID,
            bool ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE,
            bool ESTADOS_DETALLE_SHOW_INFO_SOCIO,
            bool ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA,
            bool ESTADOS_DETALLE_ENABLE_DETALLE,
            bool ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS,
            bool ESTADOS_DETALLE_ENABLE_TARA,
            bool ESTADOS_DETALLE_SHOW_DESCUENTOS,
            bool ESTADOS_DETALLE_SHOW_TOTAL,
            bool ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN,
            bool ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN,
            string PLANTILLAS_MENSAJE)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    using (var scope1 = new System.Transactions.TransactionScope())
                    {
                        EntityKey k = new EntityKey("colinasEntities.estados_nota_de_peso", "ESTADOS_NOTA_ID", ESTADOS_NOTA_ID);

                        var esn = db.GetObjectByKey(k);

                        estado_nota_de_peso noteStatus = (estado_nota_de_peso)esn;

                        noteStatus.ESTADOS_NOTA_SIGUIENTE = ESTADOS_NOTA_SIGUIENTE == 0 ? null : ESTADOS_NOTA_SIGUIENTE;
                        noteStatus.ESTADOS_NOTA_NOMBRE = ESTADOS_NOTA_NOMBRE;
                        noteStatus.ESTADOS_NOTA_DESCRIPCION = ESTADOS_NOTA_DESCRIPCION;
                        noteStatus.ESTADOS_NOTA_ES_CATACION = ESTADOS_NOTA_ES_CATACION;
                        noteStatus.ESTADOS_NOTA_ESTADO = ESTADOS_NOTA_ESTADO;
                        noteStatus.MODIFICADO_POR = MODIFICADO_POR;
                        noteStatus.FECHA_MODIFICACION = DateTime.Today;

                        /*--------------------Actualizar detalle--------------------*/
                        estado_detalle detalle = noteStatus.estados_detalles;
                        detalle.ESTADOS_DETALLE_ENABLE_FECHA = ESTADOS_DETALLE_ENABLE_FECHA;
                        detalle.ESTADOS_DETALLE_ENABLE_ESTADO = ESTADOS_DETALLE_ENABLE_ESTADO;
                        detalle.ESTADOS_DETALLE_ENABLE_SOCIO_ID = ESTADOS_DETALLE_ENABLE_SOCIO_ID;
                        detalle.ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE = ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE;
                        detalle.ESTADOS_DETALLE_SHOW_INFO_SOCIO = ESTADOS_DETALLE_SHOW_INFO_SOCIO;
                        detalle.ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA = ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA;
                        detalle.ESTADOS_DETALLE_ENABLE_DETALLE = ESTADOS_DETALLE_ENABLE_DETALLE;
                        detalle.ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS = ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS;
                        detalle.ESTADOS_DETALLE_ENABLE_TARA = ESTADOS_DETALLE_ENABLE_TARA;
                        detalle.ESTADOS_DETALLE_SHOW_DESCUENTOS = ESTADOS_DETALLE_SHOW_DESCUENTOS;
                        detalle.ESTADOS_DETALLE_SHOW_TOTAL = ESTADOS_DETALLE_SHOW_TOTAL;
                        detalle.ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN = ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN;
                        detalle.ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN = ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN;


                        /*--------------------Actualizar privilegio--------------------*/
                        string PRIV_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PRIVILEGIO + noteStatus.ESTADOS_NOTA_LLAVE;

                        var queryPrivilegio = from p in db.privilegios
                                              where p.PRIV_LLAVE == PRIV_LLAVE
                                              select p;

                        privilegio notePrivilege = (privilegio)queryPrivilegio.FirstOrDefault();

                        if (notePrivilege != null)
                        {
                            notePrivilege.PRIV_NOMBRE = "Notas de Peso " + ESTADOS_NOTA_NOMBRE;
                            notePrivilege.PRIV_DESCRIPCION = "Acceso a nivel de datos. " + ESTADOS_NOTA_DESCRIPCION;
                            notePrivilege.MODIFICADO_POR = MODIFICADO_POR;
                            notePrivilege.FECHA_MODIFICACION = DateTime.Today;
                        }


                        /*--------------------Actualizar plantilla de notificacion--------------------*/
                        string PLANTILLAS_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PLANTILLA + noteStatus.ESTADOS_NOTA_LLAVE;

                        db.plantillas_notificaciones.MergeOption = MergeOption.NoTracking;

                        Object pl = null;
                        EntityKey kpl = new EntityKey("colinasEntities.plantillas_notificaciones", "PLANTILLAS_LLAVE", PLANTILLAS_LLAVE);

                        if (db.TryGetObjectByKey(kpl, out pl))
                        {

                            plantilla_notificacion noteTemplate = (plantilla_notificacion)pl;

                            noteTemplate.PLANTILLAS_NOMBRE = "Notas de Peso " + ESTADOS_NOTA_NOMBRE;
                            noteTemplate.PLANTILLAS_ASUNTO = "Notas de Peso " + ESTADOS_NOTA_NOMBRE;
                            noteTemplate.PLANTILLAS_MENSAJE = PLANTILLAS_MENSAJE;
                            noteTemplate.MODIFICADO_POR = MODIFICADO_POR;
                            noteTemplate.FECHA_MODIFICACION = DateTime.Today;
                        }

                        db.SaveChanges();

                        scope1.Complete();
                    }
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al actualizar estado de nota de peso.", ex);
                throw;
            }
        }
        /// <summary>
        /// Elimina estados de nota de peso con su detalle. Elimina el privilegio y notificacion si existen.
        /// </summary>
        /// <param name="ESTADOS_NOTA_ID"></param>
        public void EliminarEstadoNotaDePeso(int ESTADOS_NOTA_ID)
        {
            try
            {
                using (var db = new colinasEntities())
                {

                    using (var scope1 = new System.Transactions.TransactionScope())
                    {
                        EntityKey k = new EntityKey("colinasEntities.estados_nota_de_peso", "ESTADOS_NOTA_ID", ESTADOS_NOTA_ID);

                        var esn = db.GetObjectByKey(k);

                        estado_nota_de_peso noteStatus = (estado_nota_de_peso)esn;

                        db.DeleteObject(noteStatus);

                        /*--------------------Eliminar privilegio--------------------*/
                        string PRIV_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PRIVILEGIO + noteStatus.ESTADOS_NOTA_LLAVE;

                        var queryPrivilegio = from p in db.privilegios
                                    where p.PRIV_LLAVE == PRIV_LLAVE
                                    select p;
                        
                        privilegio priv = (privilegio)queryPrivilegio.FirstOrDefault();

                        if (priv != null)
                            db.DeleteObject(priv);


                        /*--------------------Eliminar plantilla de notificacion--------------------*/
                        string PLANTILLAS_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PLANTILLA + noteStatus.ESTADOS_NOTA_LLAVE;

                        db.plantillas_notificaciones.MergeOption = MergeOption.NoTracking;

                        Object pl = null;
                        EntityKey kpl = new EntityKey("colinasEntities.plantillas_notificaciones", "PLANTILLAS_LLAVE", PLANTILLAS_LLAVE);

                        if (db.TryGetObjectByKey(kpl, out pl))
                        {
                            plantilla_notificacion plNotif = (plantilla_notificacion)pl;

                            db.DeleteObject(plNotif);
                        }

                        db.SaveChanges();

                        scope1.Complete();
                    }
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al eliminar estado de nota de peso.", ex);
                throw;
            }
        }
        /// <summary>
        /// Obtiene totales de inventario de café de cooperativa.
        /// </summary>
        /// <param name="CLASIFICACIONES_CAFE_ID"></param>
        /// <returns>Totales de inventario de café de cooperativa.</returns>
        public reporte_total_inventario_de_cafe GetReporteTotalInventarioDeCafe(int CLASIFICACIONES_CAFE_ID)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.reporte_total_inventario_de_cafe", "CLASIFICACIONES_CAFE_ID", CLASIFICACIONES_CAFE_ID);

                    Object invCaf = null;

                    reporte_total_inventario_de_cafe inventory = null;

                    if (db.TryGetObjectByKey(k, out invCaf))
                        inventory = (reporte_total_inventario_de_cafe)invCaf;
                    else
                        inventory = new reporte_total_inventario_de_cafe();

                    return inventory;
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener reporte total de inventario de cafe de cooperativa.", ex);
                throw;
            }
        }
        /// <summary>
        /// Obtiene total de inventario de café de cooperativa.
        /// </summary>
        /// <param name="CLASIFICACIONES_CAFE_ID"></param>
        /// <returns>Total de inventario de café de cooperativa.</returns>
        public decimal GetInventarioDeCafe(int CLASIFICACIONES_CAFE_ID)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.reporte_total_inventario_de_cafe", "CLASIFICACIONES_CAFE_ID", CLASIFICACIONES_CAFE_ID);

                    Object invCaf = null;

                    if (db.TryGetObjectByKey(k, out invCaf))
                    {
                        reporte_total_inventario_de_cafe inventory = (reporte_total_inventario_de_cafe)invCaf;
                        return inventory.INVENTARIO_ENTRADAS_CANTIDAD;
                    }
                    else
                        return 0;
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener total de inventario de cafe de cooperativa.", ex);
                throw;
            }
        }
        /// <summary>
        /// Obtiene total de inventario de café para socio específico.
        /// </summary>
        /// <param name="SOCIOS_ID"></param>
        /// <param name="CLASIFICACIONES_CAFE_ID"></param>
        /// <returns>Total de inventario de café para socio específico.</returns>
        public decimal GetInventarioDeCafeDeSocio(string SOCIOS_ID, int CLASIFICACIONES_CAFE_ID)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    IEnumerable<KeyValuePair<string, object>> entityKeyValues =
                        new KeyValuePair<string, object>[] {
                            new KeyValuePair<string, object>("SOCIOS_ID", SOCIOS_ID),
                            new KeyValuePair<string, object>("CLASIFICACIONES_CAFE_ID", CLASIFICACIONES_CAFE_ID) };

                    EntityKey k = new EntityKey("colinasEntities.reporte_total_inventario_de_cafe_por_socio", entityKeyValues);

                    Object invCafSoc = null;

                    if (db.TryGetObjectByKey(k, out invCafSoc))
                    {
                        reporte_total_inventario_de_cafe_por_socio asocInventory = (reporte_total_inventario_de_cafe_por_socio)invCafSoc;
                        return asocInventory.INVENTARIO_ENTRADAS_CANTIDAD;
                    }
                    else
                        return 0;
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener total de inventario de cafe de socio.", ex);
                throw;
            }
        }
Beispiel #7
0
        /// <summary>
        /// Actualiza la notificación.
        /// </summary>
        /// <param name="NOTIFICACION_ID"></param>
        /// <param name="NOTIFICACION_ESTADO"></param>
        public void ActualizarNotificacion(int NOTIFICACION_ID, EstadosNotificacion NOTIFICACION_ESTADO)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    EntityKey k = new EntityKey("colinasEntities.notificaciones", "NOTIFICACION_ID", NOTIFICACION_ID);

                    Object n = null;

                    if (db.TryGetObjectByKey(k, out n))
                    {

                        notificacion notification = (notificacion)n;

                        notification.NOTIFICACION_ESTADO = (int)NOTIFICACION_ESTADO;

                        db.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al actualizar notificacion.", ex);
                throw;
            }
        }
Beispiel #8
0
        /// <summary>
        /// Verfica si existe el usuario.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        /// <returns>True el usuario si existe. False el usuario no existe.</returns>
        public bool UsuarioExiste(string USR_USERNAME)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    db.usuarios.MergeOption = MergeOption.NoTracking;

                    Object u = null;
                    EntityKey k = new EntityKey("colinasEntities.usuarios", "USR_USERNAME", USR_USERNAME);

                    if (db.TryGetObjectByKey(k, out u))
                        return true;
                    else
                        return false;
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al intentar verificar usuario.", ex);
                throw;
            }
        }
Beispiel #9
0
        /// <summary>
        /// Autentica usuario y password.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        /// <param name="USR_PASSWORD"></param>
        /// <returns>True si el usuario y password son correctos. False lo contrario.</returns>
        public bool Autenticar(string USR_USERNAME, string USR_PASSWORD)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    db.usuarios.MergeOption = MergeOption.NoTracking;

                    Object u = null;
                    EntityKey k = new EntityKey("colinasEntities.usuarios", "USR_USERNAME", USR_USERNAME);

                    if (db.TryGetObjectByKey(k, out u))
                    {
                        usuario usr = (usuario)u;
                        if (usr.USR_PASSWORD.CompareTo(USR_PASSWORD) == 0)
                            return true;
                    }

                    return false;
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al intentar login.", ex);
                throw;
            }
        }
Beispiel #10
0
        public bool PlantillaDeNotifiacionExiste(string PLANTILLAS_LLAVE)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    db.plantillas_notificaciones.MergeOption = MergeOption.NoTracking;

                    Object p = null;
                    EntityKey k = new EntityKey("colinasEntities.plantillas_notificaciones", "PLANTILLAS_LLAVE", PLANTILLAS_LLAVE);

                    if (db.TryGetObjectByKey(k, out p))
                        return true;
                    else
                        return false;
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al intentar verificar privilegio.", ex);
                throw;
            }
        }