Контекст, создаваемый в репозитории(ASP.NET MVC)

226
20 сентября 2017, 09:41

У меня есть Mobile area и Account controller в нем

Вот код

public class AccountController : BaseController
{
    private AccountRepositoryEntities repoEntities; //The desktop trackerweb repository
    private Domain.Repository.Mobile.AccountRepository mobileRepo;
    private IdentityUserManager userManager;
    private IAuthenticationManager authenticationManager;
    private Dictionary dictionary;
    public AccountController(TraxgoDB context) : base()
    {
        repoEntities = new AccountRepositoryEntities();
        mobileRepo = new Domain.Repository.Mobile.AccountRepository(context);
    }
}

Контекст передается в контроллер в качестве параметра

Нужно сделать так, чтобы контекст создавался в репозитории

И контроллер выглядел так

public AccountController() : base()
{
    repoEntities = new AccountRepositoryEntities();
    mobileRepo = new Domain.Repository.Mobile.AccountRepository();
}

Собственно код самого Domain.Repository.Mobile.AccountRepository

public sealed class AccountRepository : BaseRepository
{
    public AccountRepository(TraxgoDB context) : base(context) { }
    public Site TryGetCustomSite(string hostName)
    {
        var site = context.Sites.FirstOrDefault(s => hostName.Contains(s.HostName));
        if (site != null && site.HostName != "traxgo")
            return site;
        return null;
    }
    public CultureInfo UpdateCustomerLanguage(int customerID, CultureInfo culture)
    {
        using (var ctx = new TraxgoDB(TraxgoDBRights.ReadWrite))
        {
            var customer = ctx.Customers.FirstOrDefault(c => c.ID == customerID);
            var currentCultureInfo = customer.Language.GetCultureInfo();
            if (currentCultureInfo != culture)
            {
                customer.Language = culture.GetLanguage();
                ctx.SaveChanges();
            }
            return culture;
        }
    }
}

И код BaseRepository

public abstract class BaseRepository
{
    protected TraxgoDB context { get; }
    protected BaseRepository(TraxgoDB context)
    {
        this.context = context;
    }
}

Как я могу это сделать?

READ ALSO
Как запретить поворот экрана на Android C#

Как запретить поворот экрана на Android C#

Как запретить поворот экрана на Android C#? И если можно, то написать еще подключаемые библиотекиСпасибо

358
Learn, Share, Build

Learn, Share, Build

Can anyone help with JSON string parse on c# ? I'm rather new in this area

263
Получить ширину текста c#

Получить ширину текста c#

Моя задача это задать Label ширину точно подходящую к содержимому в этом Label если текст заранее известенАвторазмер не предлагать

346
После cancelTokenSource.Cancel() , Task остается в состоянии RanToCompletion

После cancelTokenSource.Cancel() , Task остается в состоянии RanToCompletion

Пытаюсь правильно прервать выполнение функции через token, однако task остается всегда в состоянии RanToCompletionПодскажите пожалуйста, в чем проблема?

217