Example #1
0
        /// <summary>
        /// Actualiza un camión
        /// </summary>
        /// <param name="comercio">Comercio a actualizar</param>
        /// <param name="idUsuario">Id del usuario que realiza la operacion</param>
        public void Actualizar(CAMION camion, int idUsuario)
        {
            if (camion == null)
                throw new Exception("El camión no puede ser null");

            //Se valida que no exista otro camión con la misma placa o codigo rfid
            string validacion = "";
            
            CAMION cam1 = this.objCamionDAO.GetCamionByPlaca(camion.placa);
            CAMION cam2 = this.objCamionDAO.GetCamionByRFID(camion.codigoRFID);

            if (cam1 != null)
            { 
                if(cam1.id != camion.id)
                    validacion += "- Ya existe un camión con la placa '" + camion.placa + "'\n";
            }
            if (cam2 != null)
            {
                if (cam2.codigoRFID != camion.codigoRFID)
                    validacion += "- Ya existe un camión con el código RFID leído\n";
            }

            //No se superaron las validaciones, se lanza error
            if (validacion.Length > 0)
                throw new Exception(validacion);             

            camion.idModificador = idUsuario;
            camion.fechaModificacion = DateTime.Now;
            this.objDAO.Actualizar(Enumeraciones.Entidad.CAMION, camion, camion.id, idUsuario);
        }
Example #2
0
        /// <summary>
        /// Crea un camion
        /// </summary>
        /// <param name="camion">Objeto a insertar</param>
        /// <param name="idUsuario">id del usuario logueado</param>
        /// <returns></returns>
        public int Crear(EnturnadorDAO.CAMION camion, int idUsuario)
        {
            if (camion == null)
            {
                throw new Exception("El camión no puede ser null");
            }

            //Se valida que no exista ya un camión con la misma placa o codigo rfid
            string validacion = "";

            if (this.GetCamionByPlaca(camion.placa) != null)
            {
                validacion += "- Ya existe un camión con la placa '" + camion.placa + "'\n";
            }
            if (camion.codigoRFID.Length > 0)
            {
                if (this.GetCamionByRFID(camion.codigoRFID) != null)
                {
                    validacion += "- Ya existe un camión con el mismo código RFID \n";
                }
            }

            //No se superaron las validaciones, se lanza error
            if (validacion.Length > 0)
            {
                throw new Exception(validacion);
            }

            camion.idModificador     = idUsuario;
            camion.fechaModificacion = DateTime.Now;
            camion.activo            = true;
            return(this.objDAO.Crear(Enumeraciones.Entidad.CAMION, camion));
        }
Example #3
0
        /// <summary>
        /// Enturna un cámión cuando se hace de forma automática
        /// </summary>
        /// <param name="camion">camion a enturnar</param>
        /// <param name="idPuerta">id de la puerta donde se detectó el camión</param>
        private void EnturnarAutomatico(CAMION camion, int idPuerta)
        {
            //Si el camion esta en la cola 
            List<COLA> listaCola = this.objCola.GetColaByPlaca(camion.placa);
            if (listaCola.Count > 0)
            {
                //El camion esta en la cola
                if (listaCola.First().idPuerta == idPuerta)
                { 
                    //Se elimina el camion de la cola
                    this.objCola.EliminarRegistro(camion.placa);
                }                
            }

            //Se crea el camion en la cola
            COLA objCola = new COLA();
            objCola.idPuerta = idPuerta;
            objCola.idTipoCargue = camion.idTipoCargue;
            objCola.placa = camion.placa;
            objCola.hora = DateTime.Now;

            this.objDAO.Crear(Enumeraciones.Entidad.COLA, objCola);
        }
Example #4
0
 public void CrearTest()
 {
     Camion target = new Camion();
     CAMION camion = new CAMION();
     camion.activo = true;
     camion.codigoRFID = "ABCKJHKJH";
     camion.fechaModificacion = DateTime.Now;
     camion.idModificador = 1;
     camion.idTipoCargue = 1;
     camion.placa = "ABC123";
     
     int idUsuario = 1; 
     int expected = 3; 
     int actual;
     actual = target.Crear(camion, idUsuario);
     Assert.AreEqual(expected, actual);            
 }
Example #5
0
        /// <summary>
        /// Procesa una linea leida del archivo de cargue masivo. Si todo sale OK retorna una cadena vacia, de lo contrario retorna el error
        /// </summary>
        private string ProcesarLinea(string linea)
        {
            string error = string.Empty;
            String[] arrLinea;
            string placa = string.Empty;
            string tipoDescargue = string.Empty;
            string codigoRFID = string.Empty;
            int idTipoCargue = 0;
            TIPO_CARGUE objTipoCargue;
            CAMION objCamionTemp;

            if (linea.Contains("|"))
            {
                arrLinea = linea.Split('|');
                if (arrLinea.Count() >= 2)
                {
                    placa = arrLinea[0].Trim();
                    tipoDescargue = arrLinea[1].Trim();
                    codigoRFID = "";
                    idTipoCargue = 0;

                    if (arrLinea.Count() >= 3)
                        codigoRFID = arrLinea[2].Trim();

                    //Validacion de la estructura de la placa
                    if (placa.Length == 0)
                        error += "- La placa no puede quedar vacía\n";
            
                    else
                    {
                        if (placa.Length != 6)
                            error += "- La placa no puede tener espacios y debe tener 6 caracteres\n";
                    }

                    //Validacion del tipo de descargue
                    if (tipoDescargue.Length == 0)
                        error += "- El tipo de descargue no puede quedar vacío\n";
                    else
                    { 
                        //Se busca el id de tipo de cargue correspondiente
                        objTipoCargue = this.listaTipoCargue.Find(t => t.tipoCargue == tipoDescargue);
                        if(objTipoCargue != null)
                            idTipoCargue = objTipoCargue.id;
                        else
                            error += "- No se encontró el tipo de descargue correspondiente a '" + tipoDescargue + "'\n";
                    }

                    //Se inserta el registro
                    if (error.Length == 0)
                    {
                        try
                        {
                            objCamionTemp = new CAMION();
                            objCamionTemp.activo = true;
                            objCamionTemp.codigoRFID = codigoRFID;
                            objCamionTemp.idTipoCargue = idTipoCargue;
                            objCamionTemp.placa = placa;
                            this.objCamion.Crear(objCamionTemp, CGlobal.IdUsuario);
                        }
                        catch (Exception ex)
                        {
                            error += ex.Message + "\n";
                        }                    
                    }

                }
                else
                {
                    error = "El registro no tiene el formato especificado";
                }
            }
            else
            {
                error = "El registro no tiene el formato especificado";
            }

            return error;
        }
Example #6
0
        private void Guardar()
        {
            try
            {
                CAMION cam = new CAMION();
                cam.codigoRFID = "";
                cam.idTipoCargue = Convert.ToInt32(this.cboTipoCargue.SelectedValue);
                cam.placa = this.txtPlaca.Text;
                cam.codigoRFID = this.txtCodigoRFID.Text;
                cam.activo = true;

                //Si se esta creando el camion
                if (this.idCamion == 0)
                {
                    this.objCamion.Crear(cam, RFIDEnturnador.CGlobal.IdUsuario);
                    MessageBox.Show("El camión ha sido creado", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    cam.id = this.idCamion;
                    this.objCamion.Actualizar(cam, RFIDEnturnador.CGlobal.IdUsuario);
                    MessageBox.Show("El camión se ha actualizado", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                this.GetCamiones();
                this.Limpiar();
                this.CambiarVista(Vista.LISTA);
            }
            catch (Exception ex)
            {
                MessageBox.Show("No se pudo guardar el camión: " + ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                string inner = "";
                if (ex.InnerException != null)
                    inner = ex.InnerException.Message;
                this.objUtil.LogError("Camiones", "Guardar", ex.Message, inner, CGlobal.IdUsuario);
            }
        }
Example #7
0
 /// <summary>
 /// Create a new CAMION object.
 /// </summary>
 /// <param name="id">Initial value of the id property.</param>
 /// <param name="idTipoCargue">Initial value of the idTipoCargue property.</param>
 /// <param name="placa">Initial value of the placa property.</param>
 /// <param name="idModificador">Initial value of the idModificador property.</param>
 /// <param name="fechaModificacion">Initial value of the fechaModificacion property.</param>
 /// <param name="activo">Initial value of the activo property.</param>
 public static CAMION CreateCAMION(global::System.Int32 id, global::System.Int32 idTipoCargue, global::System.String placa, global::System.Int32 idModificador, global::System.DateTime fechaModificacion, global::System.Boolean activo)
 {
     CAMION cAMION = new CAMION();
     cAMION.id = id;
     cAMION.idTipoCargue = idTipoCargue;
     cAMION.placa = placa;
     cAMION.idModificador = idModificador;
     cAMION.fechaModificacion = fechaModificacion;
     cAMION.activo = activo;
     return cAMION;
 }
Example #8
0
 /// <summary>
 /// Deprecated Method for adding a new object to the CAMION EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToCAMION(CAMION cAMION)
 {
     base.AddObject("CAMION", cAMION);
 }
Example #9
0
        /// <summary>
        /// Desenturna de forma automática un camión
        /// </summary>
        /// <param name="camion">Camión que se desenturna</param>
        /// <param name="idPuerta">Id de la puerta donde se detecta el camión</param>
        private void DesenturnarAutomatico(CAMION camion, int idPuerta)
        {
            //el camion debe estar en la cola para que pueda ser desenturnado
            List<COLA> listaCola = this.objCola.GetColaByPlaca(camion.placa);
            if (listaCola.Count == 0)
                return;

            this.objCola.EliminarRegistro(camion.placa);
        }