public ActionResult Crear() { var maxikiosco = new Entidades.MaxiKiosco() { EstaOnLine = true }; CargarTurnos(maxikiosco); return PartialView(maxikiosco); }
private bool SincronizarPrincipal(string nombreArchivo, out string error) { error = null; //Obtengo y descomprimo el zip en la carpeta temporal var xml = new XmlDocument(); var path = Path.Combine(AppSettings.UploadTempPath, nombreArchivo); DirectoryHelper.LimpiarDirectorio(AppSettings.UploadTempPath, ".xml"); var rarFile = new ZipFile(path); rarFile.ExtractAll(AppSettings.UploadTempPath); //Leo los archivos xml y los corro si todavia no se corrieron var nombresArchivos = DirectoryHelper.ObtenerArchivos(AppSettings.UploadTempPath, "xml"); nombresArchivos = nombresArchivos.Select(x => x.Split('\\').Last()).ToList(); var xmls = nombresArchivos.Select(x => new ArchivoKioscoDTO(x)).OrderBy(f => f.Secuencia).ToList(); var result = true; Entidades.MaxiKiosco kiosco = null; //Verifico que no se haya salteado ningun archivo int ultimaSecuenciaAcusada; if (xmls.Any()) { var identifier = xmls.First().MaxiKioscoIdentifier; kiosco = Uow.MaxiKioscos.Obtener(m => m.Identifier == identifier); ultimaSecuenciaAcusada = kiosco.UltimaSecuenciaAcusada ?? 0; if (xmls.First().Secuencia > ultimaSecuenciaAcusada + 1) { error = string.Format( "Error: hay archivos faltantes. Se espera un archivo de secuencia: {0}, y se pasó uno con la secuencia: {1}", ultimaSecuenciaAcusada + 1, xmls.First().Secuencia); return(false); } } foreach (var xmlFile in xmls) { kiosco = kiosco ?? Uow.MaxiKioscos.Obtener(m => m.Identifier == xmlFile.MaxiKioscoIdentifier); if (kiosco.UltimaSecuenciaAcusada == null || kiosco.UltimaSecuenciaAcusada < xmlFile.Secuencia) { xml.Load(Path.Combine(AppSettings.UploadTempPath, xmlFile.NombreCompleto)); result = Uow.Exportaciones.ActualizarPrincipal(xml.InnerXml, xmlFile.MaxiKioscoIdentifier, xmlFile.Secuencia, xmlFile.NombreCompleto); if (!result) { error = "Ha ocurrido un error durante intentando sincronizar el archivo: " + xmlFile.NombreCompleto; break; } } } return(result); }
public ActionResult Crear() { var maxikiosco = new Entidades.MaxiKiosco() { EstaOnLine = true }; CargarTurnos(maxikiosco); return(PartialView(maxikiosco)); }
public ActionResult Detalle(int id) { Entidades.MaxiKiosco maxikiosco = Uow.MaxiKioscos.Obtener(m => m.MaxiKioscoId == id, m => m.MaxiKioscoTurnos.Select(mt => mt.Turno)); if (maxikiosco == null) { return(HttpNotFound()); } return(PartialView(maxikiosco)); }
public ActionResult Editar(Entidades.MaxiKiosco maxikiosco) { if (!ModelState.IsValid) { return(PartialView(maxikiosco)); } ActualizarTurnos(maxikiosco); maxikiosco.Desincronizado = true; Uow.MaxiKioscos.Modificar(maxikiosco); Uow.Commit(); return(Json(new { exito = true })); }
public ActionResult Eliminar(int id, FormCollection collection) { Entidades.MaxiKiosco maxikiosco = Uow.MaxiKioscos .Obtener(m => m.MaxiKioscoId == id); if (maxikiosco == null) { return(HttpNotFound()); } Uow.MaxiKioscos.Eliminar(maxikiosco); Uow.Commit(); return(Json(new { exito = true })); }
private void ActualizarTurnos(Entidades.MaxiKiosco maxiKiosco) { foreach (var maxikisocoTurno in maxiKiosco.MaxiKioscoTurnos) { if (maxikisocoTurno.MaxiKioscoTurnoId == 0) { Uow.MaxiKioscoTurnos.Agregar(maxikisocoTurno); } else { Uow.MaxiKioscoTurnos.Modificar(maxikisocoTurno); } } maxiKiosco.MaxiKioscoTurnos.Clear(); }
public ActionResult Crear(Entidades.MaxiKiosco maxikiosco) { if (!ModelState.IsValid) { return(PartialView()); } ActualizarTurnos(maxikiosco); maxikiosco.Identifier = Guid.NewGuid(); maxikiosco.CuentaId = UsuarioActual.CuentaId; maxikiosco.Desincronizado = true; Uow.MaxiKioscos.Agregar(maxikiosco); Uow.Commit(); return(Json(new { exito = true })); }
private void btnAceptar_Click(object sender, EventArgs e) { if (dgvListado.SelectedRows.Count > 0) { DataGridViewRow row = dgvListado.SelectedRows[0]; var asignado = row.Cells[2].Value.ToString().Equals("SI"); if (asignado) { MessageBox.Show("El maxikiosco seleccionado ya ha sido seleccionado en otro kiosco"); DialogResult = DialogResult.None; } else { //Asigno mi appsetting var identifier = Guid.Parse(row.Cells[0].Value.ToString()); AppSettings.MaxiKioscoIdentifier = identifier; //Si tengo internet lo notifico la asignación al servidor try { var response = _sincronizacionService.MarcarKioscoComoAsignado(identifier.ToString()); var maxi = new Entidades.MaxiKiosco() { Abreviacion = response.Abreviacion, Asignado = true, CuentaId = 1, Direccion = response.Direccion, EstaOnLine = true, Nombre = response.Nombre, Telefono = response.Telefono, Identifier = response.Identifier }; _uow.MaxiKioscos.Agregar(maxi); _uow.Commit(); } catch (Exception) { } } } else { MessageBox.Show("Debe seleccionar un maxikiosco"); DialogResult = DialogResult.None; } }
private void CargarTurnos(Entidades.MaxiKiosco maxiKiosco) { //Obtener los turnos y crear maxikiscos turnos cuando el kiosco no los tenga. var turnos = Uow.Turnos.Listado().ToList(); foreach (var turno in turnos) { var maxkioscoTurno = maxiKiosco.MaxiKioscoTurnos .FirstOrDefault(mt => mt.TurnoId == turno.TurnoId); if (maxkioscoTurno == null) { maxkioscoTurno = new MaxiKioscoTurno(); maxkioscoTurno.MaxiKioscoId = maxiKiosco.MaxiKioscoId; maxkioscoTurno.MaxiKiosco = maxiKiosco; maxkioscoTurno.TurnoId = turno.TurnoId; maxkioscoTurno.Turno = turno; //maxkioscoTurno.MontoMaximoVentaConTickets = null; maxiKiosco.MaxiKioscoTurnos.Add(maxkioscoTurno); } } }
public static void RefreshSettings() { _maxikiosco = null; }