예제 #1
0
 public IActionResult LoginSMS(GetLogin loginUser)
 {
     if (ModelState.IsValid)
     {
         var usuario = _context.Users.Where(x => x.Email == loginUser.UserName).FirstOrDefault();
         if (usuario != null)
         {
             if (usuario.PhoneNumber != null)
             {
                 Random       random   = new Random();
                 var          telefono = usuario.PhoneNumber;
                 var          code     = random.Next(100000, 999999);
                 TwilioHelper twilio   = new TwilioHelper(_configuration);
                 twilio.SendSMSMessage(telefono, code.ToString());
                 HttpContext.Session.SetString(SessionEmail, usuario.Email);
                 HttpContext.Session.SetString(SessionCode, code.ToString());
                 return(RedirectToAction("Login"));
             }
             else
             {
                 ViewBag.Mensaje = "No es posible que se logue por este medio. Tiene que registrar numero de telefono para habilitar esta opcion";
                 return(View());
             }
         }
     }
     ViewBag.Mensaje = "Usuario invalido";
     return(View());
 }
예제 #2
0
        public async Task <GetLogin> GetLoginUser()
        {
            var Authorization = Request.Headers["Authorization"].ToString();
            var request       = new HttpRequestMessage(HttpMethod.Post,
                                                       "http://localhost:4000/api/auth/getlogin");

            request.Headers.Add("Authorization", Authorization);

            var client   = clientFactory.CreateClient();
            var response = await client.SendAsync(request);

            var data = await response.Content.ReadAsStringAsync();

            if (response.StatusCode.ToString() == "OK")
            {
                var options = new JsonSerializerOptions
                {
                    PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
                    WriteIndented        = true
                };
                GetLogin userinfo = System.Text.Json.JsonSerializer.Deserialize <SecondServer.Models.JsonModel.GetLogin>(data, options);
                return(userinfo);
            }
            return(null);
        }
예제 #3
0
        public async Task <List <BodyDimmenssions> > GetBodyDimmenssions(DateTime start, DateTime end)
        {
            var AccountId = await GetLogin.GetAccountId();

            var list = await DbContext.Accounts.Where(A => A.Id == AccountId).Select(A => A.BodyDimmenssionsList).SingleOrDefaultAsync();

            return(list.Where(B => B.DateTime >= start && B.DateTime <= end).ToList());
        }
예제 #4
0
        public async Task AddBodyDimmenssions(BodyDimmenssions bodyDimmenssions)
        {
            var id = await GetLogin.GetAccountId();

            var account = await GetAccountAsync(id);

            account.BodyDimmenssionsList.Add(bodyDimmenssions);
            DbContext.SaveChanges();
        }
예제 #5
0
        public async Task RegisterDataSave(BodyDimmenssions bodyDimmenssions, Profile profile)
        {
            var id = await GetLogin.GetAccountId();

            var account = await GetAccountAsync(id);

            account.Profile = profile;
            account.BodyDimmenssionsList.Add(bodyDimmenssions);
            DbContext.SaveChanges();
        }
예제 #6
0
        public async Task <List <BodyDimmenssions> > GetBodyDimmenssions()
        {
            var isLogOn = await new Login(_eventAggregator).GetIsLogOn();

            if (!isLogOn)
            {
                return(new List <BodyDimmenssions>());
            }
            var AccountId = await GetLogin.GetAccountId();

            return(await DbContext.Accounts.Where(A => A.Id == AccountId).Select(A => A.BodyDimmenssionsList).SingleOrDefaultAsync());
        }
예제 #7
0
        public async Task <ActionResult <IEnumerable <ToDoItem> > > GetToDoItems()
        {
            GetLogin userinfo = await GetLoginUser();

            if (userinfo == null)
            {
                return(StatusCode(403));
            }
            var Res = await repositoryItems.GetItemsAsync(userinfo.Id);

            return(Ok(Res));
        }
예제 #8
0
        public async Task AddMeal(Meal meal)
        {
            var id = await GetLogin.GetAccountId();

            var account = await DbContext.Accounts
                          .Where(A => A.Id == id)
                          .Include(A => A.Meals).SingleOrDefaultAsync();

            if (account != null)
            {
                account.Meals.Add(meal);
                DbContext.SaveChanges();
            }
        }
예제 #9
0
        public async Task <List <Meal> > GetAllMeals(DateTime dateTime)
        {
            var id = await GetLogin.GetAccountId();

            if (id == new Guid())
            {
                return(null);
            }
            var account = await DbContext.Accounts.Include(a => a.Meals).Include(a => a.Meals.Select(m => m.FoodsInMeals)).SingleOrDefaultAsync();


            return(account.Meals.Where(m => m.Date.Year == dateTime.Year && m.Date.Month == dateTime.Month &&
                                       m.Date.Day == dateTime.Day).ToList());
        }
예제 #10
0
        public async Task <Goal> GetGoal(DateTime from)
        {
            var AccountId = await GetLogin.GetAccountId();

            if (AccountId == new Guid())
            {
                return(null);
            }
            var list = await DbContext.Accounts.Where(A => A.Id == AccountId).Select(A => A.Goals).SingleOrDefaultAsync();

            var result = list.Where(G => G.From.Year == from.Year && G.From.Month == from.Month && G.From.Day == from.Day).SingleOrDefault();

            return(result);
        }
예제 #11
0
        public async Task <ActionResult <ToDoItem> > DeleteToDoItem(long id)
        {
            GetLogin userinfo = await GetLoginUser();

            if (userinfo == null)
            {
                return(StatusCode(403));
            }
            bool completed = await repositoryItems.DeleteItem(id, userinfo.Id);

            if (!completed)
            {
                return(BadRequest());
            }
            return(StatusCode(200));
        }
예제 #12
0
        public async Task <ActionResult <ToDoItem> > GetItemStatus(long id)
        {
            GetLogin userinfo = await GetLoginUser();

            if (userinfo == null)
            {
                return(StatusCode(403));
            }
            var todoItem = await repositoryItems.GetItem(id);

            if (todoItem == null || todoItem.UserId != userinfo.Id)
            {
                return(StatusCode(400));
            }
            return(Ok(todoItem.IsCompleted));
        }
예제 #13
0
        public async Task <ActionResult> GetHistoryResult(long id)
        {
            GetLogin userinfo = await GetLoginUser();

            if (userinfo == null)
            {
                return(StatusCode(403));
            }
            var item = await repositoryItems.GetItem(id);

            if (item == null || item.UserId != userinfo.Id)
            {
                return(StatusCode(400));
            }
            var changes = await repositoryItems.GetHistoryAsync(id, userinfo.Id);

            return(Ok(changes));
        }
예제 #14
0
        static void Main(string[] args)
        {
            GetLogin login = new GetLogin();
            object obj1 = @"<Query><PortalDBConns><Conn Name='PortalfmReportConnection'/><Conn Name='Transportation'/><Conn Name='ProfileReadOnly'/><Conn Name='PowerTrack'/><Conn Name='PortalPTREPORTINGDB'/>
			<Conn Name='PortalPTReportDX'/>
			<Conn Name='PortalPTControl'/>
			<Conn Name='ProductPayTransaction'/>
			<Conn Name='SDE'/>
			<Conn Name='Settlement'/>
			<Conn Name='PortalPTWebsite'/>
			<Conn Name='PortalPTWebsiteAuthoring'/>
			<Conn Name='PerformanceMonitoring'/>
			<Conn Name='PortalAnalytical'/>
			<Conn Name='R2-BI-PTTranProfile-'/>
			</PortalDBConns></Query>";
            object obj2 = null;
            login.GetLoginsByName(ref obj1, out obj2);

        }
예제 #15
0
        public async Task <ActionResult <ToDoItem> > PostToDoItem(int task)
        {
            GetLogin userinfo = await GetLoginUser();

            if (userinfo == null)
            {
                return(StatusCode(403));
            }
            ToDoItem item = new ToDoItem(false, task, userinfo.Id);
            bool     done = await repositoryItems.AddItem(item);

            if (!done)
            {
                return(StatusCode(500));
            }
            Dictionary <string, long> d = new Dictionary <string, long> {
                { "id", item.ID }
            };

            return(Ok(d));
        }
예제 #16
0
    private IEnumerator RetriveData()
    {
        username = usernameInputField.text;
        password = passwordInputFiled.text;
        string  BASE_URL = "http://gomangrove.com/backend/api/v1/login?username="******"&password="******"username", username);
        form.AddField("password", password);

        WWW www = new WWW(BASE_URL);

        yield return(www);

        loginO = new Login();
        if (www.error == null)
        {
            login  = JsonUtility.FromJson <GetLogin>("{\"getLogin\":" + www.text + "}");
            loginO = JsonUtility.FromJson <Login>(www.text);

            bool   statusLogin = loginO.login;
            string id_murid    = loginO.id;
            string name        = loginO.nama;

            if (statusLogin == true)
            {
                PlayerPrefs.SetString("id_murid", id_murid);
                PlayerPrefs.SetString("nama_murid", name);
                Application.LoadLevel("Main Menu");
            }
            else
            {
                Debug.Log("Gagal Masuk");
            }
        }
        else
        {
            Debug.Log("ERROR : " + www.error);
        }
    }
예제 #17
0
        public async Task SaveGoal(Goal goal)
        {
            var id = await GetLogin.GetAccountId();

            if (id == new Guid())
            {
                return;
            }
            var account = await DbContext.Accounts.Where(A => A.Id == id).Include(A => A.Goals).SingleOrDefaultAsync();

            var oldGoal = account.Goals.Where(G => G.From.Year == goal.From.Year && G.From.Month == goal.From.Month && G.From.Day == goal.From.Day).SingleOrDefault();

            if (oldGoal != null)
            {
                DbContext.Entry(oldGoal).CurrentValues.SetValues(goal);
            }
            else
            {
                account.Goals.Add(goal);
            }
            DbContext.SaveChanges();
        }
예제 #18
0
        public async Task <ActionResult <ToDoItem> > GetTodoItem(long id)
        {
            GetLogin userinfo = await GetLoginUser();

            if (userinfo == null)
            {
                return(StatusCode(403));
            }
            var todoItem = await repositoryItems.GetItem(id);

            if (todoItem == null || todoItem.UserId != userinfo.Id)
            {
                return(StatusCode(400));
            }
            var response = new
            {
                status        = todoItem.IsCompleted,
                recent_change = todoItem.RecentUpdate
            };

            return(Ok(response));
        }
예제 #19
0
        public async Task <IActionResult> PutTodoItem(long id, [FromBody] ToDoItem item)
        {
            GetLogin userinfo = await GetLoginUser();

            if (userinfo == null)
            {
                return(StatusCode(403));
            }
            if (id != item.ID)
            {
                return(StatusCode(400));
            }
            await repositoryItems.UpdateItem(item, userinfo.Id);

            var response = new
            {
                completed     = item.IsCompleted,
                recent_change = item.RecentUpdate
            };

            return(Ok(response));
        }
예제 #20
0
        public async Task <ActionResult <ToDoItem> > PostTodoItem(ToDoItem item)
        {
            GetLogin userinfo = await GetLoginUser();

            if (userinfo == null)
            {
                Response.StatusCode = 401;
                await Response.WriteAsync("Пользователь не авторизован");
            }
            item.UserId = userinfo.Id;
            bool completed = await repositoryItems.AddItem(item);

            if (!completed)
            {
                return(StatusCode(500));
            }
            Dictionary <string, long> d = new Dictionary <string, long> {
                { "id", item.ID }
            };

            return(Ok(d));
        }
        public ReturnStatus Login(GetLogin req)
        {
            var result = null as UserProfile;

            using (var connection = new SqlConnection(_connectionString.JapaneseLearning))
            {
                var cmd = new SqlCommand(p_Login_Auth, connection)
                {
                    CommandType = CommandType.StoredProcedure
                };

                cmd.Parameters.Add("@RetVal", SqlDbType.Int).Direction          = ParameterDirection.Output;
                cmd.Parameters.Add("@RetMsg", SqlDbType.VarChar, 500).Direction = ParameterDirection.Output;

                cmd.Parameters.AddWithValue("@Username", req.Username);
                cmd.Parameters.AddWithValue("@Password", req.Password);

                connection.Open();

                return(new ReturnStatus(cmd.Parameters["@RetVal"].Value.ToSafeInt32(),
                                        cmd.Parameters["@RetMsg"].Value.ToSafeString()));
            }
        }
예제 #22
0
        public void TaskSuccessTest()
        {
            var startTime = DateTime.UtcNow;
            var testUser  = TestsModel.User;

            testUser.Type = UserType.LabelAdministrator;
            var addUserTask   = new AddUser(DbContext, new AddPerson(DbContext, new FormattingService()), new FormattingService());
            var addUserResult = addUserTask.DoTask(testUser);

            Assert.IsTrue(addUserResult.Success);
            Assert.IsNull(addUserResult.Exception);

            var task = new LoginUser(DbContext, new GetInstallation(DbContext),
                                     new SeedSystemData(new SeedInstallation(DbContext),
                                                        new SeedCountries(DbContext),
                                                        new SeedPerformingRightsOrganizations(DbContext, new SeedCountries(DbContext)),
                                                        new SeedServices(DbContext),
                                                        new SeedPlatforms(DbContext, new ListServices(DbContext), new AddPlatform(DbContext))));
            var login = new Login
            {
                AuthenticationId    = testUser.AuthenticationId,
                AuthenticationToken = TestsModel.AuthenticationToken,
                TokenExpiration     = DateTime.UtcNow.AddHours(1)
            };
            var result = task.DoTask(login);

            Assert.IsTrue(result.Success);
            Assert.IsNull(result.Exception);
            Assert.IsNotNull(result.Data);

            if (result.Data != null)
            {
                var user = result.Data.User;

                Assert.IsNotNull(user);
                Assert.AreEqual(login.AuthenticationToken, result.Data.AuthenticationToken);
                Assert.AreEqual(login.AuthenticationId, user.AuthenticationId);
                Assert.IsTrue(login.LoginAt > startTime);
                Assert.IsTrue(login.LoginAt < DateTime.UtcNow);

                Assert.AreEqual(testUser.Type, user.Type);
                Assert.AreEqual(testUser.Roles, user.Roles);

                Assert.IsNotNull(user.Person);
                Assert.AreEqual(testUser.Person.FirstAndLastName, user.Person.FirstAndLastName);
                Assert.AreEqual(testUser.Person.MiddleName, user.Person.MiddleName);
                Assert.AreEqual(testUser.Person.NameSuffix, user.Person.NameSuffix);
                Assert.AreEqual(testUser.Person.Email, user.Person.Email);
                Assert.AreEqual(testUser.Person.Phone, user.Person.Phone);
                Assert.IsNotNull(user.Person.Address);
                Assert.AreEqual(testUser.Person.Address.Street, user.Person.Address.Street);
                Assert.AreEqual(testUser.Person.Address.City, user.Person.Address.City);
                Assert.AreEqual(testUser.Person.Address.Region, user.Person.Address.Region);
                Assert.AreEqual(testUser.Person.Address.PostalCode, user.Person.Address.PostalCode);
                Assert.AreEqual(testUser.Person.Address.Street, user.Person.Address.Street);
                Assert.IsNotNull(user.Person.Address.Country);
                Assert.AreEqual(testUser.Person.Address.Country.Name, user.Person.Address.Country.Name);
                Assert.AreEqual(testUser.Person.Address.Country.IsoCode, user.Person.Address.Country.IsoCode);
            }

            var getLoginTask   = new GetLogin(DbContext);
            var getLoginResult = getLoginTask.DoTask(login.AuthenticationToken);

            Assert.IsTrue(getLoginResult.Success);
            Assert.IsNull(getLoginResult.Exception);
            Assert.IsNotNull(getLoginResult.Data);

            if (getLoginResult.Data != null)
            {
                var user = getLoginResult.Data.User;

                Assert.IsNotNull(user);
                Assert.AreEqual(login.AuthenticationToken, getLoginResult.Data.AuthenticationToken);
                Assert.AreEqual(login.AuthenticationId, user.AuthenticationId);
                Assert.IsTrue(login.LoginAt > startTime);
                Assert.IsTrue(login.LoginAt < DateTime.UtcNow);

                Assert.AreEqual(testUser.Type, user.Type);
                Assert.AreEqual(testUser.Roles, user.Roles);

                Assert.IsNotNull(user.Person);
                Assert.AreEqual(testUser.Person.FirstAndLastName, user.Person.FirstAndLastName);
                Assert.AreEqual(testUser.Person.MiddleName, user.Person.MiddleName);
                Assert.AreEqual(testUser.Person.NameSuffix, user.Person.NameSuffix);
                Assert.AreEqual(testUser.Person.Email, user.Person.Email);
                Assert.AreEqual(testUser.Person.Phone, user.Person.Phone);
                Assert.IsNotNull(user.Person.Address);
                Assert.AreEqual(testUser.Person.Address.Street, user.Person.Address.Street);
                Assert.AreEqual(testUser.Person.Address.City, user.Person.Address.City);
                Assert.AreEqual(testUser.Person.Address.Region, user.Person.Address.Region);
                Assert.AreEqual(testUser.Person.Address.PostalCode, user.Person.Address.PostalCode);
                Assert.AreEqual(testUser.Person.Address.Street, user.Person.Address.Street);
                Assert.IsNotNull(user.Person.Address.Country);
                Assert.AreEqual(testUser.Person.Address.Country.Name, user.Person.Address.Country.Name);
                Assert.AreEqual(testUser.Person.Address.Country.IsoCode, user.Person.Address.Country.IsoCode);
            }

            var person           = testUser.Person;
            var removeUserTask   = new RemoveUser(DbContext);
            var removeUserResult = removeUserTask.DoTask(testUser);

            Assert.IsTrue(removeUserResult.Success);
            Assert.IsNull(removeUserResult.Exception);

            var removePersonTask   = new RemovePerson(DbContext);
            var removePersonResult = removePersonTask.DoTask(person);

            Assert.IsTrue(removePersonResult.Success);
            Assert.IsNull(removePersonResult.Exception);
        }