示例#1
0
        public string RegistraAcesso(string ChaveCliente, string ChaveLocal, string ChaveColaborador)
        {
            string retorno = "|X                   |";

            var cliente = ClienteAcesso(ChaveCliente);

            if (cliente == null)
            {
                return(retorno);
            }

            var local = LocalAcesso(cliente, ChaveLocal);

            if (local == null)
            {
                return(retorno);
            }

            var colaborador = ColaboradorAcesso(cliente, ChaveColaborador);

            if (colaborador == null)
            {
                return(retorno);
            }

            var ultimoAcesso = cliente.Acessos.Where(a => a.Colaborador.Id == colaborador.Id &&
                                                     a.Local.Id == local.Id)
                               .OrderByDescending(a => a.Data).Take(1).SingleOrDefault();

            Acesso acesso = new Acesso();

            acesso.Cliente     = cliente;
            acesso.Colaborador = colaborador;
            acesso.Local       = local;
            acesso.Data        = DateTime.Now;
            acesso.AtualizaUltimoMovimento(ultimoAcesso);

            cliente.Acessos.Add(acesso);
            this.Update(cliente);

            return(acesso.RetornaAcesso());
        }