Beispiel #1
0
        public string EliminarCliente(string codCliente, int codtipoCliente, int idUsuario)
        {
            try
            {
                string _resp = _context.Track_EliminarCliente(codCliente, codtipoCliente).FirstOrDefault().Respuesta;

                Methods_User _user = new Methods_User();
                //////_user.guardarlog(idUsuario, "Eliminación de cliente: " + codCliente.ToString());

                return(_resp);
            }
            catch (Exception)
            {
                return("Error al intentar eliminar el cliente.");
            }
        }
Beispiel #2
0
        public string EliminaZona(int IdZona, int idUsuario)
        {
            try
            {
                string _resp = _context.Track_EliminarZona(IdZona).FirstOrDefault().ToString();

                Methods_User _user = new Methods_User();

                //////_user.guardarlog(idUsuario, "Eliminación de zona: " + IdZona.ToString());

                return(_resp);
            }
            catch (Exception)
            {
                return("Error al intentar eliminar la geocerca.");
            }
        }
Beispiel #3
0
        public string GuardarCliente(string codCliente, int codtipoCliente, string nombreCliente, int idUsuario)
        {
            try
            {
                List <Track_CodZona_IdZona> _asociaciones = _context.Track_CodZona_IdZona.Where(C => C.CodZona == codCliente && C.CodTipoCliente == codtipoCliente).ToList();
                for (int i = 0; i < _asociaciones.Count; i++)
                {
                    _context.Track_CodZona_IdZona.Remove(_asociaciones[i]);
                }

                List <Track_Clientes> _deleteClient = _context.Track_Clientes.Where(C => C.CodCliente == codCliente && C.CodTipoCliente == codtipoCliente).ToList();
                for (int i = 0; i < _deleteClient.Count; i++)
                {
                    _context.Track_Clientes.Remove(_deleteClient[i]);
                }

                Track_Clientes _cliente = new Track_Clientes();

                _cliente.CodCliente     = codCliente;
                _cliente.CodTipoCliente = codtipoCliente;
                _cliente.Descripcion    = nombreCliente;

                _context.Track_Clientes.Add(_cliente);

                _context.SaveChanges();

                Methods_User _user = new Methods_User();
                /////_user.guardarlog(idUsuario, "Creación/modificación de cliente: " + codCliente.ToString());

                return("Cliente guardado satisfactoriamente.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return("Se ha producido un error al guardar el cliente.");
            }
        }
Beispiel #4
0
        public string EditarZona(int idZona, string nombreZona, int idTipoZona, string clientesAsociados, List <Tuple <decimal, decimal> > vertices, int radio, int idUsuario)
        {
            try
            {
                decimal promLat = 0;
                decimal promLon = 0;

                Track_Zonas _zona = _context.Track_Zonas.Where(C => C.IdZona == idZona).FirstOrDefault();

                if (_zona == null)
                {
                    return("El Id de Zona no existe.");
                }

                _zona.NombreZona = nombreZona;
                _zona.IdTipoZona = idTipoZona;
                _zona.Radio      = radio;

                List <Track_Vertices> _vertices = _context.Track_Vertices.Where(C => C.IdZona == idZona).ToList();

                for (int i = 0; i < _vertices.Count; i++)
                {
                    _context.Track_Vertices.Remove(_vertices[i]);
                }

                for (int i = 0; i < vertices.Count; i++)
                {
                    promLat += vertices[i].Item1;
                    promLon += vertices[i].Item2;

                    Track_Vertices _vertice = new Track_Vertices();
                    _vertice.IdZona   = _zona.IdZona;
                    _vertice.IdPunto  = (i + 1);
                    _vertice.Latitud  = vertices[i].Item1;
                    _vertice.Longitud = vertices[i].Item2;

                    _context.Track_Vertices.Add(_vertice);
                }

                Track_Vertices _ultVertice = new Track_Vertices();
                _ultVertice.IdZona   = _zona.IdZona;
                _ultVertice.IdPunto  = vertices.Count + 1;
                _ultVertice.Latitud  = vertices[0].Item1;
                _ultVertice.Longitud = vertices[0].Item2;

                _context.Track_Vertices.Add(_ultVertice);

                promLat = promLat / vertices.Count;
                promLon = promLon / vertices.Count;

                _zona.Latitud  = promLat;
                _zona.Longitud = promLon;

                _context.SaveChanges();

                string response = _context.Track_UpdateCodZonaIdZona(clientesAsociados, idZona).FirstOrDefault().Respuesta;

                Methods_User _user = new Methods_User();
                //////_user.guardarlog(idUsuario, "Edición de zona: " + idZona.ToString());

                return(response);
            }
            catch (Exception e)
            {
                return("Se ha producido un error. Methods_Zonas.EditarZona. " + e.InnerException);
            }
        }
Beispiel #5
0
        public string NuevaZona(string nombreZona, int idTipoZona, string clientesAsociados, List <Tuple <decimal, decimal> > vertices, int radio, int idUsuario)
        {
            try
            {
                decimal promLat    = 0;
                decimal promLon    = 0;
                bool    existeZona = false;

                //Track_Zonas _zona = _context.Track_Zonas.Where(C => C.IdZona == idZona).FirstOrDefault().IdZona;
                int newIdZona = (from c in _context.Track_Zonas orderby c.IdZona descending select c.IdZona).FirstOrDefault() + 1;
                if (newIdZona <= 100000000)
                {
                    newIdZona = 100000001;
                }

                Track_Zonas _zona = new Track_Zonas();

                _zona.IdZona     = newIdZona;
                _zona.NombreZona = nombreZona;
                _zona.IdTipoZona = idTipoZona;
                _zona.Radio      = radio;

                for (int i = 0; i < vertices.Count; i++)
                {
                    promLat += vertices[i].Item1;
                    promLon += vertices[i].Item2;

                    Track_Vertices _vertice = new Track_Vertices();
                    _vertice.IdZona   = _zona.IdZona;
                    _vertice.IdPunto  = (i + 1);
                    _vertice.Latitud  = vertices[i].Item1;
                    _vertice.Longitud = vertices[i].Item2;

                    _context.Track_Vertices.Add(_vertice);

                    if (_context.Track_ExisteZonaEnPunto(vertices[i].Item1.ToString().Replace(",", "."), vertices[i].Item2.ToString().Replace(",", "."), idTipoZona).First().Value > 0)
                    {
                        existeZona = true;
                    }
                }

                Track_Vertices _ultVertice = new Track_Vertices();
                _ultVertice.IdZona   = _zona.IdZona;
                _ultVertice.IdPunto  = vertices.Count + 1;
                _ultVertice.Latitud  = vertices[0].Item1;
                _ultVertice.Longitud = vertices[0].Item2;

                _context.Track_Vertices.Add(_ultVertice);

                promLat = promLat / vertices.Count;
                promLon = promLon / vertices.Count;

                _zona.Latitud  = promLat;
                _zona.Longitud = promLon;

                int existeName = 0;
                try { existeName = (from c in _context.Track_Zonas where c.NombreZona.ToLower() == nombreZona.ToLower() select c).Count(); } catch { existeName = 0; }

                if (_context.Track_ExisteZonaEnPunto(promLat.ToString().Replace(",", "."), promLon.ToString().Replace(",", "."), idTipoZona).First().Value > 0)
                {
                    existeZona = true;
                }

                _context.Track_Zonas.Add(_zona);

                if (existeName > 0)
                {
                    return("Ya existe una zona con ese Nombre, favor utilice otro");
                }
                else
                {
                    _context.SaveChanges();

                    string response = _context.Track_UpdateCodZonaIdZona(clientesAsociados, newIdZona).FirstOrDefault().Respuesta;

                    if (existeZona)
                    {
                        return("Ya existe una zona en los puntos seleccionados, de todas formas la zona fue agregada satisfactoriamente. IdZona generado: " + newIdZona.ToString());
                    }
                    else
                    {
                        Methods_User _user = new Methods_User();
                        /////_user.guardarlog(idUsuario, "Creación de zona: " + newIdZona.ToString());

                        return("Zona agregada satisfactoriamente. IdZona generado: " + newIdZona.ToString());
                    }
                }
            }
            catch (Exception e)
            {
                return("Se ha producido un error. Methods_Zonas.NuevaZona. " + e.InnerException);
            }
        }