Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions eFormAPI/eFormAPI/App_Start/AutofacConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
using System.Web.Http;
using Autofac;
using Autofac.Integration.WebApi;
using eFormAPI.Web.Infrastructure.Data;
using eFormAPI.Web.Infrastructure.Identity;

namespace eFormAPI.Web
{
Expand All @@ -19,6 +21,7 @@ public static void ConfigureContainer()
// OPTIONAL: Register the Autofac filter provider.
builder.RegisterWebApiFilterProvider(config);
// Set the dependency resolver to be Autofac.
builder.RegisterType<BaseDbContext>().InstancePerRequest();
Container = builder.Build();
}
}
Expand Down
3 changes: 2 additions & 1 deletion eFormAPI/eFormAPI/Controllers/AccountController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ public UserInfoViewModel GetUserInfo()
{
Email = user.Email,
Id = user.Id,
UserName = user.UserName
FirstName = user.FirstName,
LastName = user.LastName
};
}

Expand Down
154 changes: 154 additions & 0 deletions eFormAPI/eFormAPI/Controllers/AdminController.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Net.Http;
using System.Web.Http;
using eFormAPI.Web.Infrastructure.Data;
using eFormAPI.Web.Infrastructure.Identity;
using eFormData;
using eFromAPI.Common.API;
using eFromAPI.Common.Models;
using eFromAPI.Common.Models.Auth;
using eFromAPI.Common.Models.User;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Owin;
using Microsoft.Owin.Security;

namespace eFormAPI.Web.Controllers
{
[Authorize]
[RoutePrefix("api/admin")]
public class AdminController : ApiController
{
private readonly BaseDbContext _dbContext;
private EformUserManager _eformUserManager;
private EformRoleManager _eformRoleManager;

public AdminController(BaseDbContext dbContext)
{
_dbContext = dbContext;
}

public EformUserManager UserManager
{
get => _eformUserManager ?? Request.GetOwinContext().GetUserManager<EformUserManager>();
private set => _eformUserManager = value;
}

public EformRoleManager RoleManager
{
get => _eformRoleManager ?? Request.GetOwinContext().GetUserManager<EformRoleManager>();
private set => _eformRoleManager = value;
}

[HttpGet]
[Route("user/{userId}")]
public OperationDataResult<UserRegisterModel> GetUser(int userId)
{
try
{
var user = _dbContext.Users.Include(x => x.Roles).FirstOrDefault(x => x.Id == userId);


var model = new UserRegisterModel
{
Email = user?.Email,
Id = userId,
FirstName = user.FirstName,
LastName = user.LastName
};

// var userRoles = user.Roles.FirstOrDefault();
//
// if (userRoles != null)
// {
// model.Role = _eformRoleManager.FindById(userRoles.RoleId).Name;
// }

return new OperationDataResult<UserRegisterModel>(true, model);

}
catch (Exception exception)
{
return new OperationDataResult<UserRegisterModel>(false, "Error when obtaining users");
}
}

[HttpPost]
[Route("get-users")]
public OperationDataResult<List<UserInfoViewModel>> GetAllUsers(PaginationModel paginationModel)
{
try
{
var userList = _dbContext.Users.Include(x => x.Roles).ToList();

var model = userList.Select(user => new UserInfoViewModel
{
FirstName = user.FirstName,
LastName = user.LastName,
Email = user.Email,
Id = user.Id
})
.ToList();

return new OperationDataResult<List<UserInfoViewModel>>(true, model);
}
catch (Exception exception)
{
return new OperationDataResult<List<UserInfoViewModel>>(false, "Error when obtaining users");
}
}

[HttpPost]
[Route("update-user")]
public OperationResult UpdateUser(UserRegisterModel userRegisterModel)
{
try
{
var user = _dbContext.Users.Include(x => x.Roles).FirstOrDefault(x => x.Id == userRegisterModel.Id);

if (user == null) throw new Exception();


if (userRegisterModel.Password.Equals(userRegisterModel.PasswordConfimation))
{
user.Email = userRegisterModel.Email;
user.UserName = userRegisterModel.UserName;
user.FirstName = userRegisterModel.FirstName;
user.LastName = userRegisterModel.LastName;
user.PasswordHash = new PasswordHasher().HashPassword(userRegisterModel.Password);
}

_dbContext.Entry(user).State = EntityState.Modified;
_dbContext.SaveChanges();

return new OperationResult (true, $"User {userRegisterModel.Id} was updated");
}
catch (Exception exception)
{
return new OperationResult(false, "Error when updating user");
}
}

[HttpPost]
[Route("delete-user/{userId}")]
public OperationResult DeleteUser(int userId)
{
try
{
var user = _dbContext.Users.Include(x => x.Roles).FirstOrDefault(x => x.Id == userId);

if (user == null) throw new Exception();

_dbContext.Entry(user).State = EntityState.Deleted;

return new OperationResult(true, $"User {userId} was deleted");
}
catch (Exception exception)
{
return new OperationResult(false, "Error while deleting user");
}
}
}
}
1 change: 1 addition & 0 deletions eFormAPI/eFormAPI/Controllers/CasesController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

namespace eFormAPI.Web.Controllers
{
[Authorize]
public class CasesController : ApiController
{
private readonly EFormCoreHelper _coreHelper = new EFormCoreHelper();
Expand Down
1 change: 1 addition & 0 deletions eFormAPI/eFormAPI/Controllers/EntitySearchController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

namespace eFormAPI.Web.Controllers
{
[Authorize]
public class EntitySearchController : ApiController
{
private readonly EFormCoreHelper _coreHelper = new EFormCoreHelper();
Expand Down
16 changes: 8 additions & 8 deletions eFormAPI/eFormAPI/Controllers/SettingsController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,15 @@ public OperationResult ConnectionString(SettingsModel settingsModel)
{
if (File.Exists(inputPath))
{
File.Delete(inputPath);
var fileStream = File.Create(inputPath);
fileStream.Dispose();
}
else
{
var fileStream = File.Create(inputPath);
fileStream.Dispose();
//File.Delete(inputPath);
//var fileStream = File.Create(inputPath);
//fileStream.Dispose();
return new OperationResult(false, "Connection string already exist");
}

var fileStream = File.Create(inputPath);
fileStream.Dispose();

File.WriteAllText(inputPath, sdkConnectionString);
}
catch (Exception exception)
Expand Down
1 change: 1 addition & 0 deletions eFormAPI/eFormAPI/Controllers/SimpleSitesController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

namespace eFormAPI.Web.Controllers
{
[Authorize]
public class SimpleSitesController : ApiController
{
private readonly EFormCoreHelper _coreHelper = new EFormCoreHelper();
Expand Down
1 change: 1 addition & 0 deletions eFormAPI/eFormAPI/Controllers/SitesController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

namespace eFormAPI.Web.Controllers
{
[Authorize]
public class SitesController : ApiController
{
private readonly EFormCoreHelper _coreHelper = new EFormCoreHelper();
Expand Down
1 change: 1 addition & 0 deletions eFormAPI/eFormAPI/Controllers/TemplatesController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

namespace eFormAPI.Web.Controllers
{
[Authorize]
public class TemplatesController : ApiController
{
private readonly EFormCoreHelper _coreHelper = new EFormCoreHelper();
Expand Down
1 change: 1 addition & 0 deletions eFormAPI/eFormAPI/Controllers/UnitsController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

namespace eFormAPI.Web.Controllers
{
[Authorize]
public class UnitsController : ApiController
{
private readonly EFormCoreHelper _coreHelper = new EFormCoreHelper();
Expand Down
1 change: 1 addition & 0 deletions eFormAPI/eFormAPI/Controllers/WorkersController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

namespace eFormAPI.Web.Controllers
{
[Authorize]
public class WorkersController : ApiController
{
private readonly EFormCoreHelper _coreHelper = new EFormCoreHelper();
Expand Down
2 changes: 2 additions & 0 deletions eFormAPI/eFormAPI/Infrastructure/Data/Entities/EformUser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ namespace eFormAPI.Web.Infrastructure.Data.Entities
public class EformUser : IdentityUser<int, EformUserLogin, EformUserRole,
EformUserClaim>
{
public string FirstName { get; set; }
public string LastName { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(
UserManager<EformUser, int> manager, string authenticationType)
{
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions eFormAPI/eFormAPI/Migrations/201707270906018_UserFirstLast.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
namespace eFormAPI.Web.Migrations
{
using System;
using System.Data.Entity.Migrations;

public partial class UserFirstLast : DbMigration
{
public override void Up()
{
AddColumn("dbo.Users", "FirstName", c => c.String());
AddColumn("dbo.Users", "LastName", c => c.String());
}

public override void Down()
{
DropColumn("dbo.Users", "LastName");
DropColumn("dbo.Users", "FirstName");
}
}
}
Loading