public string ValidarCamposRegistro()
        {
            string s = null;

            if ((s = this.ValidarCamposRefaccion()) != null)
            {
                return("Refacción:" + s);
            }

            if (!(this.vista.Llantas != null && this.vista.Llantas.Count >= 4))
            {
                return("La unidad debe tener mínimo 4 llantas asignadas");
            }
            if (!(this.vista.Llantas != null && this.vista.Llantas.Count <= 10))
            {
                return("La unidad no puede tener más de 10 llantas asignadas");
            }

            foreach (LlantaBO llanta in this.vista.Llantas)
            {
                if (llanta.LlantaID == null && !string.IsNullOrEmpty(llanta.Codigo))
                {
                    List <LlantaBO> lstTemp = new LlantaBR().Consultar(this.dctx, new LlantaBO()
                    {
                        Codigo = llanta.Codigo
                    });
                    if (lstTemp.Count > 0)
                    {
                        return("Ya existe una llanta registrada con el " + llanta.Codigo);
                    }
                }
            }

            return(null);
        }
Ejemplo n.º 2
0
        public void EditarLlanta()
        {
            BO.LlantaBO bo       = (BO.LlantaBO) this.UltimaLlantaANuevaLlanta();
            LlantaBR    llantaBR = new LlantaBR();

            this.controladorLlanta.ActualizarCompleto(dctx, bo, this.vista.UltimoObjetoLlanta, new SeguridadBO(Guid.Empty, new UsuarioBO()
            {
                Id = this.vista.UsuarioID
            }, new AdscripcionBO()
            {
                UnidadOperativa = new UnidadOperativaBO()
                {
                    Id = this.vista.UnidadOperativaID
                }
            }));

            List <LlantaBO> lst = llantaBR.ConsultarCompleto(dctx, bo);

            if (lst.Count > 0)
            {
                vista.EstablecerDatosNavegacion("LlantaBO", lst[0]);
                vista.EstablecerDatosNavegacion("LlantaActualizada", true);
                vista.MostrarMensaje("Se ha guardado la llanta exitosamente.", ETipoMensajeIU.EXITO);
            }
        }
Ejemplo n.º 3
0
        public ConsultarLlantaPRE(IConsultarLlantaVIS view)
        {
            try
            {
                this.vista = view;

                this.controlador = new LlantaBR();
                this.dctx        = FacadeBR.ObtenerConexion();
            }
            catch (Exception ex)
            {
                this.vista.MostrarMensaje("No se pudieron obtener datos de conexión", ETipoMensajeIU.ERROR,
                                          "No se encontraron los parámetros de conexión en la fuente de datos, póngase en contacto con el administrador del sistema.");
            }
        }
Ejemplo n.º 4
0
        public DetalleLlantaPRE(IDetalleLlantaVIS view, IucLlantaVIS viewLlanta)
        {
            try
            {
                this.vista       = view;
                this.vistaLlanta = viewLlanta;

                this.presentadorLlanta = new ucLlantaPRE(viewLlanta);

                this.controlador = new LlantaBR();
                this.dctx        = FacadeBR.ObtenerConexion();
            }
            catch (Exception ex)
            {
                vista.MostrarMensaje("Inconsistencias en los parámetros de configuración", ETipoMensajeIU.ERROR, nombreClase + ".DetalleLlantaPRE:" + ex.Message);
            }
        }
        public RegistrarLlantaPRE(IRegistrarLlantaVIS view, IucLlantaVIS viewDatosLlantas)
        {
            try
            {
                this.vista            = view;
                this.vistaDatosLlanta = viewDatosLlantas;

                this.presentadorDatosLlanta = new ucLlantaPRE(viewDatosLlantas);

                this.controlador = new LlantaBR();
                this.dctx        = FacadeBR.ObtenerConexion();
            }
            catch (Exception ex)
            {
                this.vista.MostrarMensaje("Inconsistencia en los parámetros de configuración", ETipoMensajeIU.ERROR, this.nombreClase + ".RegistrarLlantaPRE:" + ex.Message);
            }
        }
Ejemplo n.º 6
0
        private String GenerarCodigoAleatorio(string codigoBase, int consecutivo)
        {
            string codigo = codigoBase + consecutivo.ToString();

            List <LlantaBO> lst = new LlantaBR().Consultar(this.dctx, new LlantaBO()
            {
                Codigo = codigo
            });

            if (lst.Count > 0)
            {
                return(this.GenerarCodigoAleatorio(codigoBase, consecutivo + 1));
            }
            else
            {
                return(codigo);
            }
        }
Ejemplo n.º 7
0
        public void Baja()
        {
            string s = "";

            if ((s = this.ValidarCampos()) != null)
            {
                this.vista.MostrarMensaje(s, ETipoMensajeIU.INFORMACION);
                return;
            }

            try
            {
                BO.LlantaBO bo       = (BO.LlantaBO) this.UltimaLlantaANuevaLlanta();
                LlantaBR    llantaBR = new LlantaBR();

                this.controladorLlanta.ActualizarCompleto(dctx, bo, this.vista.UltimoObjetoLlanta, new SeguridadBO(Guid.Empty, new UsuarioBO()
                {
                    Id = this.vista.UsuarioID
                }, new AdscripcionBO()
                {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                }));

                List <LlantaBO> lst = llantaBR.ConsultarCompleto(dctx, bo);

                if (lst.Count > 0)
                {
                    vista.EstablecerDatosNavegacion("LlantaBO", lst[0]);
                    vista.EstablecerDatosNavegacion("LlantaActualizada", true);
                    vista.MostrarMensaje("Se ha dado de baja la llanta exitosamente.", ETipoMensajeIU.EXITO);
                }

                this.vista.RedirigirDetalleLlanta();
            }
            catch (Exception ex)
            {
                vista.MostrarMensaje(nombreClase + ".Baja: " + ex.Message, ETipoMensajeIU.ERROR);
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Verifica que el código de la vista exista o no en el sistema y, si aplica, genera uno nuevo
        /// </summary>
        /// <param name="codigoNuevo">Código generado de manera aleatoria en el caso de que el de la vista exista</param>
        /// <returns>Verdadero en caso de que el código si exista ya en el sistema, falso en caso de que no</returns>
        public bool VerificarExistenciaCodigo(out string codigoNuevo)
        {
            try
            {
                codigoNuevo = null;

                //Si la llanta ya está registrada, no hay nada que verificar
                if (this.vista.LlantaID != null)
                {
                    return(false);
                }

                //Si el código es nulo o vacío, no hay nada que verificar
                if (string.IsNullOrEmpty(this.vista.Codigo) || string.IsNullOrWhiteSpace(this.vista.Codigo))
                {
                    return(false);
                }

                //Se verifica la existencia del código en la BD
                List <LlantaBO> lst = new LlantaBR().Consultar(this.dctx, new LlantaBO()
                {
                    Codigo = this.vista.Codigo
                });
                if (lst.Count <= 0)
                {
                    return(false);
                }

                //A esta altura significa que el código si existe y debe ser cambiado
                codigoNuevo = this.GenerarCodigoAleatorio(this.vista.Codigo, 1);

                return(true);
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".ValidarExistenciaCodigo :" + ex.Message);
            }
        }
        private string ValidarCamposRefaccion()
        {
            string s = "";

            if (this.vista.RefaccionCodigo != null && this.vista.RefaccionCodigo.Trim().CompareTo("") != 0 && (s = this.presentadorRefaccion.ValidarCamposRegistro()) != null)
            {
                return("Refacción:" + s);
            }

            s = "";

            if (this.vista.RefaccionID != null)
            {
                if (this.vista.RefaccionFC == null)
                {
                    s += "Fecha de Creación (Refacción), ";
                }
                if (this.vista.RefaccionFUA == null)
                {
                    s += "Fecha de Última Actualización (Refacción), ";
                }
                if (this.vista.RefaccionUC == null)
                {
                    s += "Usuario de Creación (Refacción), ";
                }
                if (this.vista.RefaccionUUA == null)
                {
                    s += "Usuario de Última Actualización (Refacción), ";
                }
            }

            if (s.Trim().CompareTo("") != 0)
            {
                return("Los siguientes campos no pueden estar vacíos: \n" + s.Substring(0, s.Length - 2));
            }

            if (this.vista.RefaccionID != null && this.vista.RefaccionActivo != null && this.vista.RefaccionActivo == false)
            {
                return("La refacción seleccionada ya fue dada de baja y no se puede asignar");
            }

            if (this.vista.Llantas != null)
            {
                if (this.vista.RefaccionCodigo != null && this.vista.Llantas.Exists(p => p.Codigo != null && p.Codigo.Trim() == this.vista.RefaccionCodigo.Trim()))
                {
                    return("Ya se encuentra asignada una llanta con el mismo código de refacción");
                }
                if (this.vista.RefaccionID != null && this.vista.Llantas.Exists(p => p.LlantaID != null && p.LlantaID == this.vista.RefaccionID))
                {
                    return("La refacción ya se encuentra asignada como llanta");
                }
            }

            //Si la llanta es nueva, se valida en la BD que el código no se repita
            if (this.vista.RefaccionID == null && !string.IsNullOrEmpty(this.vista.RefaccionCodigo))
            {
                List <LlantaBO> lstTemp = new LlantaBR().Consultar(this.dctx, new LlantaBO()
                {
                    Codigo = this.vista.RefaccionCodigo
                });
                if (lstTemp.Count > 0)
                {
                    return("El código que proporcionó para la refacción ya se encuentra registrado");
                }
            }

            return(null);
        }
Ejemplo n.º 10
0
        public EliminarLlantaPRE(IEliminarLlantaVIS vista)
        {
            this.vista = vista;

            this.controladorLlanta = new LlantaBR();
        }