/// <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); }
/// <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)); }
/// <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); }
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); }
/// <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; }
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); } }
/// <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; }
/// <summary> /// Deprecated Method for adding a new object to the CAMION EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToCAMION(CAMION cAMION) { base.AddObject("CAMION", cAMION); }
/// <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); }