예제 #1
0
        public async Task <OperationResult <Entities.Task> > GetErrorAsync(LubyTasksHandler handler)
        {
            if (Id == 0)
            {
                return(new OperationResult <Entities.Task>(HttpStatusCode.BadRequest, $"Parameter {nameof(Id)} is required"));
            }

            if (!(await handler.LubyTasksContext.Tasks.AnyAsync(a => a.Id == Id)))
            {
                return(new OperationResult <Entities.Task>(HttpStatusCode.NotFound, $"Task with {nameof(Id)} {Id} was not found"));
            }

            if (string.IsNullOrWhiteSpace(Title))
            {
                return(new OperationResult <Entities.Task>(HttpStatusCode.BadRequest, $"Parameter {nameof(Title)} is required"));
            }

            if (Title.Length > Convert.ToInt32(ELimitCaracteres.Sort))
            {
                return(new OperationResult <Entities.Task>(HttpStatusCode.BadRequest, $"Parameter {nameof(Title)} must have a maximum of {Convert.ToInt32(ELimitCaracteres.Sort)} characters"));
            }

            if (!string.IsNullOrWhiteSpace(Description) && Description.Length > Convert.ToInt32(ELimitCaracteres.Long))
            {
                return(new OperationResult <Entities.Task>(HttpStatusCode.BadRequest, $"Parameter {nameof(Description)} must have a maximum of {Convert.ToInt32(ELimitCaracteres.Long)} characters"));
            }

            return(await Task.FromResult <OperationResult <Entities.Task> >(null));
        }
예제 #2
0
        public async Task <OperationResult <User> > GetErrorAsync(LubyTasksHandler handler)
        {
            if (string.IsNullOrWhiteSpace(Name))
            {
                return(new OperationResult <User>(HttpStatusCode.BadRequest, $"Parameter {nameof(Name) } is required"));
            }

            if (Name.Length > Convert.ToInt32(ELimitCaracteres.Sort))
            {
                return(new OperationResult <User>(HttpStatusCode.BadRequest, $"Parameter {nameof(Name) } must have a maximum of {Convert.ToInt32(ELimitCaracteres.Sort)} caracteres"));
            }

            if (string.IsNullOrWhiteSpace(Login))
            {
                return(new OperationResult <User>(HttpStatusCode.BadRequest, $"Parameter {nameof(Login) } is required"));
            }

            if (await handler.LubyTasksContext.Users.AnyAsync(u => u.Login == Login))
            {
                return(new OperationResult <User>(HttpStatusCode.Conflict, $"{nameof(Login) } {Login} already exists"));
            }

            if (string.IsNullOrWhiteSpace(Password))
            {
                return(new OperationResult <User>(HttpStatusCode.BadRequest, $"Parameter {nameof(Password) } is required"));
            }

            return(await Task.FromResult <OperationResult <User> >(null));
        }
예제 #3
0
        public async Task <OperationResult <User> > GetErrorAsync(LubyTasksHandler handler)
        {
            if (string.IsNullOrEmpty(handler.CurrentUser.Login))
            {
                return(new OperationResult <User>(HttpStatusCode.Unauthorized, $"There's no opened session. Please, get the token and try again"));
            }

            if (!(await handler.LubyTasksContext.Users.AnyAsync(u => u.Password == Password.GetSHA512() && u.Login == handler.CurrentUser.Login)))
            {
                return(new OperationResult <User>(HttpStatusCode.BadRequest, $"User with wrong {nameof(Password)}"));
            }

            if (string.IsNullOrWhiteSpace(Name))
            {
                return(new OperationResult <User>(HttpStatusCode.BadRequest, $"Parameter {nameof(Name) } is required"));
            }

            if (Name.Length > Convert.ToInt32(ELimitCaracteres.Sort))
            {
                return(new OperationResult <User>(HttpStatusCode.BadRequest, $"Parameter {nameof(Name) } must be only {Convert.ToInt32(ELimitCaracteres.Sort)} caracteres"));
            }

            if (string.IsNullOrWhiteSpace(Login))
            {
                return(new OperationResult <User>(HttpStatusCode.BadRequest, $"Parameter {nameof(Login)} is required"));
            }

            if (Login.Length > Convert.ToInt32(ELimitCaracteres.Login))
            {
                return(new OperationResult <User>(HttpStatusCode.BadRequest, $"Parameter {nameof(Login) } must be only {Convert.ToInt32(ELimitCaracteres.Login)} caracteres"));
            }

            return(await Task.FromResult <OperationResult <User> >(null));
        }
예제 #4
0
        public async Task <OperationResult <User> > GetErrorAsync(LubyTasksHandler handler)
        {
            if (string.IsNullOrWhiteSpace(handler.CurrentUser.Login))
            {
                return(new OperationResult <User>(HttpStatusCode.Unauthorized, $"There's no opened session. Please, get the token and try again"));
            }

            return(await Task.FromResult <OperationResult <User> >(null));
        }
예제 #5
0
        public async Task <OperationResult <User> > ExecuteOperationAsync(LubyTasksHandler handler)
        {
            var user = await handler.LubyTasksContext.Users.FirstOrDefaultAsync(u => u.Id == handler.CurrentUser.Id);

            user.SetData(Name, Login);
            var result = await handler.LubyTasksContext.SaveChangesAsync();

            return(new OperationResult <User>(HttpStatusCode.OK, result));
        }
예제 #6
0
        public async Task <OperationResult <Entities.Task> > ExecuteOperationAsync(LubyTasksHandler handler)
        {
            var task = await handler.LubyTasksContext.Tasks
                       .FirstOrDefaultAsync(a => a.Id == Id);

            task.Remove();

            var result = await handler.LubyTasksContext.SaveChangesAsync();

            return(new OperationResult <Entities.Task>(HttpStatusCode.OK, result));
        }
        public async Task<OperationResult<Entities.Task>> ExecuteOperationAsync(LubyTasksHandler handler)
        {
            var task = await handler.LubyTasksContext.Tasks
                .FirstOrDefaultAsync(t => t.Id == Id);

            task.Concluded = Concluded.Value;
            
            var result = await handler.LubyTasksContext.SaveChangesAsync();
            return new OperationResult<Entities.Task>(HttpStatusCode.OK, result);

        }
예제 #8
0
        public async Task <OperationResult <User> > ExecuteOperationAsync(LubyTasksHandler handler)
        {
            var user = await handler.LubyTasksContext.Users
                       .Where(u => u.Id == handler.CurrentUser.Id)
                       .Include(u => u.Tasks)
                       .FirstOrDefaultAsync();

            user.Remove();

            var result = await handler.LubyTasksContext.SaveChangesAsync();

            return(new OperationResult <User>(HttpStatusCode.OK, result));
        }
        public async Task<OperationResult<Entities.Task>> GetErrorAsync(LubyTasksHandler handler)
        {
            if (Id == 0)
                return new OperationResult<Entities.Task>(HttpStatusCode.BadRequest, $"Parameter {nameof(Id)} is required");

            if (!Concluded.HasValue)
                return new OperationResult<Entities.Task>(HttpStatusCode.BadRequest, $"Parameter {nameof(Concluded)} is required");

            if (!(await handler.LubyTasksContext.Tasks.AnyAsync(a => a.Id == Id)))
                return new OperationResult<Entities.Task>(HttpStatusCode.NotFound, $"Task with {nameof(Id)} {Id} was not found");

            return await Task.FromResult<OperationResult<Entities.Task>>(null);
        }
예제 #10
0
        public async Task <OperationResult <User> > ExecuteOperationAsync(LubyTasksHandler handler)
        {
            var sql = @"
                select u.id, u.name, u.login
                from users u
                where u.id=@CurrentUserId and u.removed=0
            ";

            var conn   = handler.LubyTasksContext.Database.GetDbConnection();
            var result = await conn.QueryAsync <User>(sql, new { CurrentUserId = handler.CurrentUser.Id });

            return(new OperationResult <User>(HttpStatusCode.OK, result));
        }
예제 #11
0
        public async Task <OperationResult <CredentialUser> > GetErrorAsync(LubyTasksHandler handler)
        {
            if (string.IsNullOrWhiteSpace(Login))
            {
                return(new OperationResult <CredentialUser>(HttpStatusCode.BadRequest, $"Parameter {nameof(Login) } is null or empty"));
            }

            if (string.IsNullOrWhiteSpace(Password))
            {
                return(new OperationResult <CredentialUser>(HttpStatusCode.BadRequest, $"Parameter {nameof(Password) } is null or empty"));
            }

            return(await System.Threading.Tasks.Task.FromResult <OperationResult <CredentialUser> >(null));
        }
예제 #12
0
        public async Task <OperationResult <Entities.Task> > ExecuteOperationAsync(LubyTasksHandler handler)
        {
            var task = new Entities.Task()
            {
                Title       = Title,
                Description = Description,
                UserId      = handler.CurrentUser.Id
            };

            handler.LubyTasksContext.Tasks.Add(task);
            var result = await handler.LubyTasksContext.SaveChangesAsync();

            return(new OperationResult <Entities.Task>(HttpStatusCode.Created, result));
        }
예제 #13
0
        public async Task <OperationResult <User> > ExecuteOperationAsync(LubyTasksHandler handler)
        {
            var user = new User
            {
                Name     = Name,
                Login    = Login,
                Password = Password.GetSHA512()
            };

            handler.LubyTasksContext.Users.Add(user);
            var result = await handler.LubyTasksContext.SaveChangesAsync();

            return(new OperationResult <User>(HttpStatusCode.Created, result));
        }
예제 #14
0
        public async Task <OperationResult <Entities.Task> > GetErrorAsync(LubyTasksHandler handler)
        {
            if (Id == 0)
            {
                return(new OperationResult <Entities.Task>(HttpStatusCode.BadRequest, $"Parameter {nameof(Id)} is required"));
            }

            var exists = await handler.LubyTasksContext.Tasks.AnyAsync(a => a.Id == Id);

            if (!exists)
            {
                return(new OperationResult <Entities.Task>(HttpStatusCode.NotFound, $"Task with {nameof(Id)} = {Id} was not found"));
            }

            return(await Task.FromResult <OperationResult <Entities.Task> >(null));
        }
예제 #15
0
        public async Task <OperationResult <CredentialUser> > ExecuteOperationAsync(LubyTasksHandler handler)
        {
            var sql = @"
                select u.id, u.login, u.password
                from users u
                where u.login=@Login and u.password=@Password
                and u.removed=0
            ";

            var conn   = handler.LubyTasksContext.Database.GetDbConnection();
            var result = await conn.QueryAsync <CredentialUser>(sql, new { Login, Password = Password.GetSHA512() });

            if (result.Count() == 0)
            {
                return(new OperationResult <CredentialUser>(HttpStatusCode.Unauthorized, result));
            }

            return(new OperationResult <CredentialUser>(HttpStatusCode.Created, result));
        }
예제 #16
0
        public async Task <OperationResult <TaskVW> > ExecuteOperationAsync(LubyTasksHandler handler)
        {
            var sql = @"
                select a.id, a.title, a.description, a.concluded, a.create_date, u.id, u.name
                from tasks a inner join users u on (u.id=a.id_user)
                where a.removed=0 and u.id=@CurrentUserId
            ";

            var conn   = handler.LubyTasksContext.Database.GetDbConnection();
            var result = await conn.QueryAsync <TaskVW, User, TaskVW>(sql, (action, user) =>
            {
                action.User = user;
                return(action);
            },
                                                                      new { CurrentUserId = handler.CurrentUser.Id },
                                                                      splitOn : "id"
                                                                      );

            return(new OperationResult <TaskVW>(HttpStatusCode.OK, result));
        }
예제 #17
0
        public async Task <OperationResult <Entities.Task> > GetErrorAsync(LubyTasksHandler handler)
        {
            if (handler.CurrentUser.Id == 0)
            {
                return(new OperationResult <Entities.Task>(HttpStatusCode.Unauthorized, $"There's no opened session. Please, get the token and try again"));
            }

            if (string.IsNullOrWhiteSpace(Title))
            {
                return(new OperationResult <Entities.Task>(HttpStatusCode.BadRequest, $"Parameter {nameof(Title)} is required"));
            }

            if (Title.Length > Convert.ToInt32(ELimitCaracteres.Sort))
            {
                return(new OperationResult <Entities.Task>(HttpStatusCode.BadRequest, $"Parameter {nameof(Title)} must have a maximum of {Convert.ToInt32(ELimitCaracteres.Sort)} characters"));
            }

            if (!string.IsNullOrWhiteSpace(Description) && Description.Length > Convert.ToInt32(ELimitCaracteres.Long))
            {
                return(new OperationResult <Entities.Task>(HttpStatusCode.BadRequest, $"Parameter {nameof(Description)} must have a maximum of {Convert.ToInt32(ELimitCaracteres.Long)} characters"));
            }

            return(await Task.FromResult <OperationResult <Entities.Task> >(null));
        }
예제 #18
0
 public async Task <OperationResult <TaskVW> > GetErrorAsync(LubyTasksHandler handler)
 {
     return(await Task.FromResult <OperationResult <TaskVW> >(null));
 }
예제 #19
0
 public AuthController(LubyTasksHandler handler)
 {
     _lubyTasksHandler = handler;
 }
예제 #20
0
 public UsersController(LubyTasksHandler handler)
 {
     _lubyTasksHandler = handler;
 }