예제 #1
0
파일: WebMethods.cs 프로젝트: falreis/tcc
        public static string GetLocation(Guid taxistaID)
        {
            OFMS    ofms    = OFMS.GetInstance();
            Taxista taxista = ofms.Taxistas.FirstOrDefault(taxi => taxi.ID == taxistaID);

            if (taxista != null && taxista.PosicaoAtual != null)
            {
                return(string.Format("{0}|{1}", taxista.PosicaoAtual.Latitude.ToString().Replace(",", "."), taxista.PosicaoAtual.Longitude.ToString().Replace(",", ".")));
            }

            return(String.Empty);
        }
예제 #2
0
파일: WebMethods.cs 프로젝트: falreis/tcc
        public static string GetAtendimento(Guid stakeholderID)
        {
            OFMS       ofms       = OFMS.GetInstance();
            Requisicao requisicao = ofms.ObterRequisicao(stakeholderID);

            if (requisicao != null)
            {
                return(string.Format("{0}|{1}|{2}|{3}",
                                     requisicao.Taxista.PosicaoAtual.Latitude.ToString().Replace(",", "."), requisicao.Taxista.PosicaoAtual.Longitude.ToString().Replace(",", "."),
                                     requisicao.Cliente.PosicaoAtual.Latitude.ToString().Replace(",", "."), requisicao.Cliente.PosicaoAtual.Longitude.ToString().Replace(",", ".")
                                     ));
            }
            return(String.Empty);
        }
예제 #3
0
파일: OFMS.cs 프로젝트: falreis/tcc
        public static OFMS GetInstance()
        {
            lock (typeof(OFMS))
            {
                if (_instance == null)
                {
                    _instance    = new OFMS();
                    _taxistas    = new List <Taxista>();
                    _requisicoes = new List <Requisicao>();
                    _filaEspera  = new List <Requisicao>();
                }

                return(_instance);
            }
        }
예제 #4
0
파일: OFMS.cs 프로젝트: falreis/tcc
        public static void AtualizaPosicaoTaxista(Guid ID, double latitude, double longitude, StatusTaxista status)
        {
            if (_taxistas == null)
            {
                OFMS.GetInstance();
            }

            lock (_taxistas)
            {
                Taxista taxista = _taxistas.FirstOrDefault(taxi => taxi.ID == ID);
                if (taxista == null)
                {
                    taxista        = Taxista.Obter(ID);
                    taxista.Status = status;

                    if (taxista != null)
                    {
                        taxista.PosicaoAtual = new Localizacao();
                    }
                    else
                    {
                        throw new TaxistaNaoEncontradoException();
                    }

                    taxista.PosicaoAtual.Latitude  = latitude;
                    taxista.PosicaoAtual.Longitude = longitude;
                    taxista.PosicaoAtual.Data      = DateTime.Now;
                    _taxistas.Add(taxista);
                }
                else
                {
                    taxista.PosicaoAtual.Latitude  = latitude;
                    taxista.PosicaoAtual.Longitude = longitude;
                    taxista.PosicaoAtual.Data      = DateTime.Now;
                }
            }
        }