Ejemplo n.º 1
0
        public DisbrusementHeaderFooter(Int32 currentUserId, Int32 currentDisbursementId)
        {
            userId         = currentUserId;
            disbursementId = currentDisbursementId;

            db = new Data.easyfisdbDataContext();
        }
Ejemplo n.º 2
0
        public ArticlePriceHeaderFooter(Int32 currentUserId, Int32 currentarticlePriceId)
        {
            userId         = currentUserId;
            articlePriceId = currentarticlePriceId;

            db = new Data.easyfisdbDataContext();
        }
Ejemplo n.º 3
0
        public CollectionHeaderFooter(Int32 currentUserId, Int32 currentCollectonId)
        {
            userId      = currentUserId;
            collectonId = currentCollectonId;

            db = new Data.easyfisdbDataContext();
        }
        public PurchaseRequestHeaderFooter(Int32 currentUserId, Int32 currentPRId)
        {
            userId = currentUserId;
            PRId   = currentPRId;

            db = new Data.easyfisdbDataContext();
        }
Ejemplo n.º 5
0
        public CounterReceiptHeaderFooter(Int32 currentUserId, Int32 currentCounterReceiptId)
        {
            userId           = currentUserId;
            counterReceiptId = currentCounterReceiptId;

            db = new Data.easyfisdbDataContext();
        }
Ejemplo n.º 6
0
        public SalesInvoiceHeaderFooter(Int32 currentUserId, Int32 currentSIId)
        {
            userId = currentUserId;
            SIId   = currentSIId;

            db = new Data.easyfisdbDataContext();
        }
        public JournalVoucherHeaderFooter(Int32 currentUserId, Int32 currentJVId)
        {
            userId = currentUserId;
            JVId   = currentJVId;

            db = new Data.easyfisdbDataContext();
        }
Ejemplo n.º 8
0
        public async Task <ActionResult> ChangePassword(ChangePasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword);

            if (result.Succeeded)
            {
                Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();
                var users = from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d;

                if (users.Any())
                {
                    var updateUser = users.FirstOrDefault();

                    updateUser.Password = model.NewPassword;

                    db.SubmitChanges();
                }

                var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

                if (user != null)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);
                }
                return(RedirectToAction("Index", new { Message = ManageMessageId.ChangePasswordSuccess }));
            }
            AddErrors(result);
            return(View(model));
        }
Ejemplo n.º 9
0
        public StockOutHeaderFooter(Int32 currentUserId, Int32 currentStockOutId)
        {
            userId     = currentUserId;
            stockOutId = currentStockOutId;

            db = new Data.easyfisdbDataContext();
        }
        public ReceivingReceiptHeaderFooter(Int32 currentUserId, Int32 currentRRId)
        {
            userId = currentUserId;
            RRId   = currentRRId;

            db = new Data.easyfisdbDataContext();
        }
Ejemplo n.º 11
0
        public PurchaseOrderHeaderFooter(Int32 currentUserId, Int32 currentPOId)
        {
            userId = currentUserId;
            POId   = currentPOId;

            db = new Data.easyfisdbDataContext();
        }
Ejemplo n.º 12
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            // var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
            var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout : false);

            switch (result)
            {
            case SignInStatus.Success:
                Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();

                var currentUser = from d in db.MstUsers
                                  where d.AspNetUser.UserName.Equals(model.UserName)
                                  select d;

                if (currentUser.Any())
                {
                    var userForms = from d in db.MstUserForms
                                    where d.UserId == currentUser.FirstOrDefault().Id &&
                                    d.SysForm.FormName.Equals("Software")
                                    select d;

                    if (userForms.Any())
                    {
                        return(RedirectToAction("Index", "Software"));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Manage"));
                    }
                }
                else
                {
                    return(RedirectToAction("Login", "Account"));
                }

            //return RedirectToLocal(returnUrl);
            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("LoginError", "Username or Password is incorrect.");
                return(View(model));
            }
        }
Ejemplo n.º 13
0
        protected override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            if (User != null)
            {
                var context  = new ApplicationDbContext();
                var username = User.Identity.Name;

                if (!string.IsNullOrEmpty(username))
                {
                    var    user     = context.Users.SingleOrDefault(u => u.UserName == username);
                    string fullName = string.Concat(new string[] { user.FullName });
                    string userId   = string.Concat(new string[] { user.Id });
                    string email    = string.Concat(new string[] { user.Email });
                    string userName = string.Concat(new string[] { user.UserName });

                    Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();
                    string branchId                      = string.Concat((from d in db.MstUsers where d.UserId == userId select d.BranchId).SingleOrDefault());
                    string branch                        = string.Concat((from d in db.MstUsers where d.UserId == userId select d.MstBranch.Branch).SingleOrDefault());
                    string company                       = string.Concat((from d in db.MstUsers where d.UserId == userId select d.MstBranch.MstCompany.Company).SingleOrDefault());
                    string mstUserId                     = string.Concat((from d in db.MstUsers where d.UserId == userId select d.Id).SingleOrDefault());
                    string officialReceiptName           = string.Concat((from d in db.MstUsers where d.UserId == userId select d.OfficialReceiptName).SingleOrDefault());
                    string inventoryType                 = string.Concat((from d in db.MstUsers where d.UserId == userId select d.InventoryType).SingleOrDefault());
                    string defaultSalesInvoiceDiscountId = string.Concat((from d in db.MstUsers where d.UserId == userId select d.DefaultSalesInvoiceDiscountId).SingleOrDefault());
                    string defaultSalesInvoiceDiscount   = string.Concat((from d in db.MstUsers where d.UserId == userId select d.MstDiscount.Discount).SingleOrDefault());
                    string salesInvoiceName              = string.Concat((from d in db.MstUsers where d.UserId == userId select d.SalesInvoiceName).SingleOrDefault());

                    ViewData.Add("UserId", userId);
                    ViewData.Add("FullName", fullName);
                    ViewData.Add("Email", email);
                    ViewData.Add("UserName", userName);

                    ViewData.Add("BranchId", branchId);
                    ViewData.Add("Branch", branch);
                    ViewData.Add("Company", company);
                    ViewData.Add("MstUserId", mstUserId);
                    ViewData.Add("OfficialReceiptName", officialReceiptName);
                    ViewData.Add("InventoryType", inventoryType);
                    ViewData.Add("defaultSalesInvoiceDiscountId", defaultSalesInvoiceDiscountId);
                    ViewData.Add("DefaultSalesInvoiceDiscount", defaultSalesInvoiceDiscount);
                    ViewData.Add("SalesInvoiceName", salesInvoiceName);
                }
            }

            base.OnActionExecuted(filterContext);
        }
Ejemplo n.º 14
0
        protected override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            if (User != null)
            {
                var context = new ApplicationDbContext();
                var username = User.Identity.Name;

                if (!string.IsNullOrEmpty(username))
                {
                    var user = context.Users.SingleOrDefault(u => u.UserName == username);
                    string fullName = string.Concat(new string[] { user.FullName });
                    string userId = string.Concat(new string[] { user.Id });
                    string email = string.Concat(new string[] { user.Email });
                    string userName = string.Concat(new string[] { user.UserName });

                    Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();
                    string branchId = string.Concat((from d in db.MstUsers where d.UserId == userId select d.BranchId).SingleOrDefault());
                    string branch = string.Concat((from d in db.MstUsers where d.UserId == userId select d.MstBranch.Branch).SingleOrDefault());
                    string company = string.Concat((from d in db.MstUsers where d.UserId == userId select d.MstBranch.MstCompany.Company).SingleOrDefault());
                    string mstUserId = string.Concat((from d in db.MstUsers where d.UserId == userId select d.Id).SingleOrDefault());
                    string officialReceiptName = string.Concat((from d in db.MstUsers where d.UserId == userId select d.OfficialReceiptName).SingleOrDefault());

                    ViewData.Add("UserId", userId);
                    ViewData.Add("FullName", fullName);
                    ViewData.Add("Email", email);
                    ViewData.Add("UserName", userName);

                    ViewData.Add("BranchId", branchId);
                    ViewData.Add("Branch", branch);
                    ViewData.Add("Company", company);
                    ViewData.Add("MstUserId", mstUserId);
                    ViewData.Add("OfficialReceiptName", officialReceiptName);

                }
            }
            base.OnActionExecuted(filterContext);
        }
Ejemplo n.º 15
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            var    response  = HttpContext.Request.Form["g-recaptcha-response"];
            string secretKey = "6LfCXGcUAAAAAGG5ZPamj8Da5mqaoO0DIye1fUgv";

            var client = new System.Net.WebClient();
            var verificationResultJson = client.DownloadString(string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secretKey, response));
            var verificationResult     = JsonConvert.DeserializeObject <CaptchaVerificationResult>(verificationResultJson);

            if (!verificationResult.Success)
            {
                ModelState.AddModelError("CaptiaError", "Invalid recaptcha challenge.");
            }
            else
            {
                if (ModelState.IsValid)
                {
                    var user = new ApplicationUser
                    {
                        UserName = model.UserName,
                        FullName = model.FullName,
                    };

                    // var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
                    var result = await UserManager.CreateAsync(user, model.Password);

                    if (result.Succeeded)
                    {
                        await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                        // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                        // Send an email with this link
                        // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                        // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                        // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                        Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();

                        var company = from d in db.MstCompanies
                                      select d;

                        var companyId = company.FirstOrDefault().Id;

                        var branch = from d in db.MstBranches
                                     where d.CompanyId == companyId
                                     select d;

                        var branchId = branch.FirstOrDefault().Id;

                        var account = from d in db.MstAccounts
                                      select d;

                        var incomeAccountId           = account.FirstOrDefault().Id;
                        var supplierAdvancesAccountId = account.FirstOrDefault().Id;
                        var customerAdvancesAccountId = account.FirstOrDefault().Id;

                        var discount = from d in db.MstDiscounts
                                       select d;

                        var discountId = discount.FirstOrDefault().Id;

                        var   officialReceiptName           = "Official Receipt";
                        var   inventoryType                 = "Moving Average";
                        var   defaultSalesInvoiceDiscountId = discountId;
                        var   salesInvoiceName              = "Sales Invoice";
                        Int32?salesInvoiceCheckedById       = null;
                        Int32?salesInvoiceApprovedById      = null;

                        var adminUser = from d in db.MstUsers
                                        where d.UserName.Equals("admin")
                                        select d;

                        if (adminUser.Any())
                        {
                            companyId                     = adminUser.FirstOrDefault().CompanyId;
                            branchId                      = adminUser.FirstOrDefault().BranchId;
                            incomeAccountId               = adminUser.FirstOrDefault().IncomeAccountId;
                            customerAdvancesAccountId     = adminUser.FirstOrDefault().CustomerAdvancesAccountId;
                            defaultSalesInvoiceDiscountId = adminUser.FirstOrDefault().DefaultSalesInvoiceDiscountId;
                            salesInvoiceCheckedById       = adminUser.FirstOrDefault().SalesInvoiceCheckedById;
                            salesInvoiceApprovedById      = adminUser.FirstOrDefault().SalesInvoiceApprovedById;
                        }

                        // ======================
                        // Create Registered User
                        // ======================
                        Data.MstUser newMstUser = new Data.MstUser
                        {
                            UserId                        = user.Id,
                            UserName                      = model.UserName,
                            Password                      = model.Password,
                            FullName                      = model.FullName,
                            CompanyId                     = companyId,
                            BranchId                      = branchId,
                            IncomeAccountId               = incomeAccountId,
                            SupplierAdvancesAccountId     = supplierAdvancesAccountId,
                            CustomerAdvancesAccountId     = customerAdvancesAccountId,
                            InventoryType                 = inventoryType,
                            DefaultSalesInvoiceDiscountId = defaultSalesInvoiceDiscountId,
                            SalesInvoiceName              = salesInvoiceName,
                            SalesInvoiceCheckedById       = salesInvoiceCheckedById,
                            SalesInvoiceApprovedById      = salesInvoiceApprovedById,
                            OfficialReceiptName           = officialReceiptName,
                            IsIncludeCostStockReports     = false,
                            IsLocked                      = false,
                            CreatedById                   = null,
                            CreatedDateTime               = DateTime.Now,
                            UpdatedById                   = null,
                            UpdatedDateTime               = DateTime.Now
                        };

                        db.MstUsers.InsertOnSubmit(newMstUser);
                        db.SubmitChanges();

                        // ==========================
                        // Current Registered User Id
                        // ==========================
                        var currentRegisteredUserId = newMstUser.Id;

                        // ======================
                        // Update Registered User
                        // ======================
                        var mstUsersData = from d in db.MstUsers
                                           where d.Id == currentRegisteredUserId
                                           select d;

                        if (mstUsersData.Any())
                        {
                            var updateMstUsersData = mstUsersData.FirstOrDefault();
                            updateMstUsersData.CreatedById     = currentRegisteredUserId;
                            updateMstUsersData.CreatedDateTime = DateTime.Now;
                            updateMstUsersData.UpdatedById     = currentRegisteredUserId;
                            updateMstUsersData.UpdatedDateTime = DateTime.Now;

                            db.SubmitChanges();
                        }

                        // =============================
                        // Create Registered User Branch
                        // =============================
                        Data.MstUserBranch newUserBranch = new Data.MstUserBranch
                        {
                            UserId   = newMstUser.Id,
                            BranchId = branchId
                        };

                        db.MstUserBranches.InsertOnSubmit(newUserBranch);
                        db.SubmitChanges();

                        return(RedirectToAction("Register", "Account"));
                    }

                    AddErrors(result);
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Ejemplo n.º 16
0
        public async Task<ActionResult> ChangePassword(ChangePasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }
            var result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword);
            if (result.Succeeded)
            {

                Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();
                var users = from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d;

                if (users.Any())
                {
                    var updateUser = users.FirstOrDefault();

                    updateUser.Password = model.NewPassword;

                    db.SubmitChanges();
                }

                var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
                if (user != null)
                {
                    await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
                }
                return RedirectToAction("Index", new { Message = ManageMessageId.ChangePasswordSuccess });
            }
            AddErrors(result);
            return View(model);
        }
Ejemplo n.º 17
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            // var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
            var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout : false);

            switch (result)
            {
            case SignInStatus.Success:
                Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();

                var currentUser = from d in db.MstUsers
                                  where d.UserName.Equals(model.UserName) &&
                                  d.Password.Equals(model.Password)
                                  select d;

                if (currentUser.Any())
                {
                    HttpContext context          = System.Web.HttpContext.Current;
                    String      currentIPAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

                    if (!string.IsNullOrEmpty(currentIPAddress))
                    {
                        String[] addresses = currentIPAddress.Split(',');
                        if (addresses.Length != 0)
                        {
                            currentIPAddress = addresses[0];
                        }
                    }
                    else if (context.Request.UserHostAddress.Length != 0)
                    {
                        currentIPAddress = context.Request.UserHostAddress;
                    }

                    String[] externalIP = currentIPAddress.Split(':');

                    var ipAddresses = from d in db.MstUserIPAddresses
                                      where d.MstUser.UserName.Equals(model.UserName)
                                      select d;

                    if (ipAddresses.Any())
                    {
                        Boolean isPublicIPExists = false;

                        if (ipAddresses.Count() > 0)
                        {
                            foreach (var ipAddress in ipAddresses)
                            {
                                if (ipAddress.IPAddress.Equals(externalIP[0]))
                                {
                                    isPublicIPExists = true;
                                    break;
                                }
                            }
                        }

                        if (isPublicIPExists)
                        {
                            var userForms = from d in db.MstUserForms
                                            where d.UserId == currentUser.FirstOrDefault().Id &&
                                            d.SysForm.FormName.Equals("Software")
                                            select d;

                            if (userForms.Any())
                            {
                                return(RedirectToAction("Index", "Software"));
                            }
                            else
                            {
                                return(RedirectToAction("Index", "Manage"));
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("LoginError", "Invalid IP Address.");
                            LogOff();

                            return(View(model));
                        }
                    }
                    else
                    {
                        var userForms = from d in db.MstUserForms
                                        where d.UserId == currentUser.FirstOrDefault().Id &&
                                        d.SysForm.FormName.Equals("Software")
                                        select d;

                        if (userForms.Any())
                        {
                            return(RedirectToAction("Index", "Software"));
                        }
                        else
                        {
                            return(RedirectToAction("Index", "Manage"));
                        }
                    }
                }
                else
                {
                    return(RedirectToAction("Login", "Account"));
                }

            //return RedirectToLocal(returnUrl);
            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("LoginError", "Username or Password is incorrect.");
                return(View(model));
            }
        }
Ejemplo n.º 18
0
        public async Task<ActionResult> Register(RegisterViewModel model)
        {

            var response = HttpContext.Request.Form["g-recaptcha-response"];
            string secretKey = "6LeNBiMTAAAAAMZUdKMa_Q4_XRGLjOEjpVP96fge";
            var client = new System.Net.WebClient();
            var verificationResultJson = client.DownloadString(string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secretKey, response));
            var verificationResult = JsonConvert.DeserializeObject<CaptchaVerificationResult>(verificationResultJson);

            if (!verificationResult.Success)
            {
                ModelState.AddModelError("CaptiaError", "ERROR: Invalid recaptcha challenge.");
            }
            else
            {
                if (ModelState.IsValid)
                {
                    var user = new ApplicationUser
                    {
                        UserName = model.UserName,
                        FullName = model.FullName,
                    };

                    //var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
                    var result = await UserManager.CreateAsync(user, model.Password);
                    if (result.Succeeded)
                    {
                        await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);

                        // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                        // Send an email with this link
                        // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                        // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                        // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                        Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();

                        var company = from d in db.MstCompanies select d;
                        var branch = from d in db.MstBranches where d.CompanyId == company.FirstOrDefault().Id select d;
                        var account = from d in db.MstAccounts select d;

                        Data.MstUser newMstUser = new Data.MstUser();
                        newMstUser.UserName = model.UserName;
                        newMstUser.Password = model.Password;
                        newMstUser.FullName = model.FullName;
                        newMstUser.IsLocked = true;
                        newMstUser.CreatedById = 0;
                        newMstUser.CreatedDateTime = DateTime.Now;
                        newMstUser.UpdatedById = 0;
                        newMstUser.UpdatedDateTime = DateTime.Now;
                        newMstUser.UserId = user.Id;
                        newMstUser.CompanyId = company.FirstOrDefault().Id;
                        newMstUser.BranchId = branch.FirstOrDefault().Id;
                        newMstUser.IncomeAccountId = account.FirstOrDefault().Id;
                        newMstUser.SupplierAdvancesAccountId = account.FirstOrDefault().Id;
                        newMstUser.CustomerAdvancesAccountId = account.FirstOrDefault().Id;
                        newMstUser.OfficialReceiptName = "Official Receipt";

                        db.MstUsers.InsertOnSubmit(newMstUser);
                        db.SubmitChanges();

                        var mstUsersData = from d in db.MstUsers where d.UserId == user.Id select d;
                        if (mstUsersData.Any())
                        {
                            var mstUserId = (from d in db.MstUsers.OrderByDescending(d => d.Id) where d.UserId == user.Id select d.Id).FirstOrDefault();

                            var updateMstUsersData = mstUsersData.FirstOrDefault();
                            updateMstUsersData.CreatedById = mstUserId;
                            updateMstUsersData.UpdatedById = mstUserId;

                            db.SubmitChanges();
                        }

                        return RedirectToAction("Register", "Account");
                    }
                    //AddErrors(result);
                }
            }
            // If we got this far, something failed, redisplay form
            return View(model);
        }
Ejemplo n.º 19
0
        protected override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            if (User != null)
            {
                var context  = new ApplicationDbContext();
                var username = User.Identity.Name;

                if (!string.IsNullOrEmpty(username))
                {
                    // ======================
                    // Current Logged-In User
                    // ======================
                    var user = context.Users.SingleOrDefault(u => u.UserName == username);

                    // ==========
                    // AspNetUser
                    // ==========
                    string aspNetUserId = user.Id;
                    string userName     = user.UserName;
                    string fullName     = user.FullName;

                    ViewData.Add("UserId", aspNetUserId);
                    ViewData.Add("UserName", userName);
                    ViewData.Add("FullName", fullName);

                    // =======
                    // MstUser
                    // =======
                    Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();

                    var currentUser = from d in db.MstUsers
                                      where d.UserId == aspNetUserId
                                      select d;

                    if (currentUser.Any())
                    {
                        // ==========================
                        // Current Branch and Company
                        // ==========================
                        int    branchId  = currentUser.FirstOrDefault().BranchId;
                        string branch    = currentUser.FirstOrDefault().MstBranch.Branch;
                        int    companyId = currentUser.FirstOrDefault().CompanyId;
                        string company   = currentUser.FirstOrDefault().MstCompany.Company;

                        ViewData.Add("BranchId", branchId);
                        ViewData.Add("Branch", branch);
                        ViewData.Add("CompanyId", companyId);
                        ViewData.Add("Company", company);

                        // ==================
                        // Defaults (Current)
                        // ==================
                        int    mstUserId        = currentUser.FirstOrDefault().Id;
                        string salesInvoiceName = currentUser.FirstOrDefault().SalesInvoiceName;
                        int    defaultSalesInvoiceDiscountId = currentUser.FirstOrDefault().DefaultSalesInvoiceDiscountId;
                        string defaultSalesInvoiceDiscount   = currentUser.FirstOrDefault().MstDiscount.Discount;
                        string officialReceiptName           = currentUser.FirstOrDefault().OfficialReceiptName;

                        ViewData.Add("MstUserId", mstUserId);
                        ViewData.Add("SalesInvoiceName", salesInvoiceName);
                        ViewData.Add("defaultSalesInvoiceDiscountId", defaultSalesInvoiceDiscountId);
                        ViewData.Add("DefaultSalesInvoiceDiscount", defaultSalesInvoiceDiscount);
                        ViewData.Add("OfficialReceiptName", officialReceiptName);

                        // ================
                        // System (Current)
                        // ================
                        int    netIncomeAccountId        = currentUser.FirstOrDefault().IncomeAccountId;
                        string netIncomeAccount          = currentUser.FirstOrDefault().MstAccount.Account;
                        int    supplierAdvancesAccountId = currentUser.FirstOrDefault().SupplierAdvancesAccountId;
                        string supplierAdvancesAccount   = currentUser.FirstOrDefault().MstAccount1.Account;
                        int    customerAdvancesAccountId = currentUser.FirstOrDefault().CustomerAdvancesAccountId;
                        string customerAdvancesAccount   = currentUser.FirstOrDefault().MstAccount2.Account;
                        string inventoryType             = currentUser.FirstOrDefault().InventoryType;
                        bool   isIncludeCostStockReports = currentUser.FirstOrDefault().IsIncludeCostStockReports;

                        ViewData.Add("NetIncomeAccountId", netIncomeAccountId);
                        ViewData.Add("NetIncomeAccount", netIncomeAccount);
                        ViewData.Add("SupplierAdvancesAccountId", supplierAdvancesAccountId);
                        ViewData.Add("SupplierAdvancesAccount", supplierAdvancesAccount);
                        ViewData.Add("CustomerAdvancesAccountId", customerAdvancesAccountId);
                        ViewData.Add("CustomerAdvancesAccount", customerAdvancesAccount);
                        ViewData.Add("InventoryType", inventoryType);
                        ViewData.Add("IsIncludeCostStockReports", isIncludeCostStockReports);
                    }
                }
            }

            base.OnActionExecuted(filterContext);
        }
Ejemplo n.º 20
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            var    response = HttpContext.Request.Form["g-recaptcha-response"];
            string host     = Request.Url.Host;

            string secretKey = "";

            if (host.Equals("www.easyfis.com"))
            {
                secretKey = "6LeNBiMTAAAAAMZUdKMa_Q4_XRGLjOEjpVP96fge";
            }

            if (host.Equals("innosoft.easyfis.com"))
            {
                secretKey = "6Ld-ACwUAAAAAN7eIeyjRupqGMTVIL-0QEtG1UXJ";
            }

            if (host.Equals("abomar.easyfis.com"))
            {
                secretKey = "6Ld8JSwUAAAAAMNxLO4HigrdcgE_s9puaasKjp6A";
            }

            if (host.Equals("tambayan.easyfis.com"))
            {
                secretKey = "6LcdCS0UAAAAANH_YY__9RYKl8tzpHYehdF5cdNK";
            }

            if (host.Equals("cmm.easyfis.com"))
            {
                secretKey = "6LfVdi8UAAAAAHqj_Zllw3MEqDBKuXXxSm5RP2as";
            }

            if (host.Equals("ncf.easyfis.com"))
            {
                secretKey = "6LeExTEUAAAAAPbP1FwdQyGr9AtIX4APY8AfzbKj";
            }

            if (host.Equals("3abuilders.easyfis.com"))
            {
                secretKey = "6LchYDcUAAAAAHVlDaP6IhDd2YTyEnoSRdaojT25";
            }

            if (host.Equals("mahb.easyfis.com"))
            {
                secretKey = "6Lf0bTgUAAAAANSW0EH2a8tX7JnjBxWgTTcTcD6i";
            }

            if (host.Equals("htp.easyfis.com"))
            {
                secretKey = "6LcgEzoUAAAAAPlkDMxtBA-57Ar-E3pYfbtLskDI";
            }

            if (host.Equals("myetp.easyfis.com"))
            {
                secretKey = "6LfGaz0UAAAAAB-dUsAmGqdtsMxQgoJfPggymmhP";
            }

            if (host.Equals("greenware.easyfis.com"))
            {
                secretKey = "6LfHv0AUAAAAAASIFWnsD9ZdkN3f-bNWQ7XMGLPJ";
            }

            if (host.Equals("arterra.easyfis.com"))
            {
                secretKey = "6LezWEQUAAAAAAn52pEfyFxPWnAcAOPgMGbBFw5D";
            }

            if (host.Equals("kemique.easyfis.com"))
            {
                secretKey = "6LcdzEoUAAAAAGuQY0kfg4HdZlbuA2FkDKFy8hAp";
            }

            if (host.Equals("racal.easyfis.com"))
            {
                secretKey = "6LffX0sUAAAAAKsLTyxgzo8Fuqsk1WRb4gx3iWnr";
            }

            if (host.Equals("cogon.easyfis.com"))
            {
                secretKey = "6LdKs00UAAAAAM6LrdHJ3nvp8OJzG3G9lPIFmWxS";
            }

            var client = new System.Net.WebClient();
            var verificationResultJson = client.DownloadString(string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secretKey, response));
            var verificationResult     = JsonConvert.DeserializeObject <CaptchaVerificationResult>(verificationResultJson);

            if (!verificationResult.Success)
            {
                ModelState.AddModelError("CaptiaError", "Invalid recaptcha challenge.");
            }
            else
            {
                if (ModelState.IsValid)
                {
                    var user = new ApplicationUser
                    {
                        UserName = model.UserName,
                        FullName = model.FullName,
                    };

                    // var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
                    var result = await UserManager.CreateAsync(user, model.Password);

                    if (result.Succeeded)
                    {
                        await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                        // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                        // Send an email with this link
                        // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                        // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                        // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                        Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();

                        var company = from d in db.MstCompanies
                                      select d;

                        var companyId = company.FirstOrDefault().Id;

                        var branch = from d in db.MstBranches
                                     where d.CompanyId == companyId
                                     select d;

                        var branchId = branch.FirstOrDefault().Id;

                        var account = from d in db.MstAccounts
                                      select d;

                        var incomeAccountId           = account.FirstOrDefault().Id;
                        var supplierAdvancesAccountId = account.FirstOrDefault().Id;
                        var customerAdvancesAccountId = account.FirstOrDefault().Id;

                        var discount = from d in db.MstDiscounts
                                       select d;

                        var discountId = discount.FirstOrDefault().Id;

                        var   officialReceiptName           = "Official Receipt";
                        var   inventoryType                 = "Moving Average";
                        var   defaultSalesInvoiceDiscountId = discountId;
                        var   salesInvoiceName              = "Sales Invoice";
                        Int32?salesInvoiceCheckedById       = null;
                        Int32?salesInvoiceApprovedById      = null;

                        var adminUser = from d in db.MstUsers
                                        where d.UserName.Equals("admin")
                                        select d;

                        if (adminUser.Any())
                        {
                            companyId                     = adminUser.FirstOrDefault().CompanyId;
                            branchId                      = adminUser.FirstOrDefault().BranchId;
                            incomeAccountId               = adminUser.FirstOrDefault().IncomeAccountId;
                            customerAdvancesAccountId     = adminUser.FirstOrDefault().CustomerAdvancesAccountId;
                            defaultSalesInvoiceDiscountId = adminUser.FirstOrDefault().DefaultSalesInvoiceDiscountId;
                            salesInvoiceCheckedById       = adminUser.FirstOrDefault().SalesInvoiceCheckedById;
                            salesInvoiceApprovedById      = adminUser.FirstOrDefault().SalesInvoiceApprovedById;
                        }

                        // ======================
                        // Create Registered User
                        // ======================
                        Data.MstUser newMstUser = new Data.MstUser
                        {
                            UserId                        = user.Id,
                            UserName                      = model.UserName,
                            Password                      = model.Password,
                            FullName                      = model.FullName,
                            CompanyId                     = companyId,
                            BranchId                      = branchId,
                            IncomeAccountId               = incomeAccountId,
                            SupplierAdvancesAccountId     = supplierAdvancesAccountId,
                            CustomerAdvancesAccountId     = customerAdvancesAccountId,
                            InventoryType                 = inventoryType,
                            DefaultSalesInvoiceDiscountId = defaultSalesInvoiceDiscountId,
                            SalesInvoiceName              = salesInvoiceName,
                            SalesInvoiceCheckedById       = salesInvoiceCheckedById,
                            SalesInvoiceApprovedById      = salesInvoiceApprovedById,
                            OfficialReceiptName           = officialReceiptName,
                            IsIncludeCostStockReports     = false,
                            IsLocked                      = false,
                            CreatedById                   = null,
                            CreatedDateTime               = DateTime.Now,
                            UpdatedById                   = null,
                            UpdatedDateTime               = DateTime.Now
                        };

                        db.MstUsers.InsertOnSubmit(newMstUser);
                        db.SubmitChanges();

                        // ==========================
                        // Current Registered User Id
                        // ==========================
                        var currentRegisteredUserId = newMstUser.Id;

                        // ======================
                        // Update Registered User
                        // ======================
                        var mstUsersData = from d in db.MstUsers
                                           where d.Id == currentRegisteredUserId
                                           select d;

                        if (mstUsersData.Any())
                        {
                            var updateMstUsersData = mstUsersData.FirstOrDefault();
                            updateMstUsersData.CreatedById     = currentRegisteredUserId;
                            updateMstUsersData.CreatedDateTime = DateTime.Now;
                            updateMstUsersData.UpdatedById     = currentRegisteredUserId;
                            updateMstUsersData.UpdatedDateTime = DateTime.Now;

                            db.SubmitChanges();
                        }

                        // =============================
                        // Create Registered User Branch
                        // =============================
                        Data.MstUserBranch newUserBranch = new Data.MstUserBranch
                        {
                            UserId   = newMstUser.Id,
                            BranchId = branchId
                        };

                        db.MstUserBranches.InsertOnSubmit(newUserBranch);
                        db.SubmitChanges();

                        return(RedirectToAction("Register", "Account"));
                    }

                    AddErrors(result);
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Ejemplo n.º 21
0
        public async Task <IHttpActionResult> Register(RegisterBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = new ApplicationUser()
            {
                UserName = model.UserName,
                FullName = model.FullName
            };

            IdentityResult result = await UserManager.CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                return(GetErrorResult(result));
            }
            else
            {
                Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();

                var   company   = from d in db.MstCompanies select d;
                Int32 companyId = company.FirstOrDefault().Id;

                var   branch   = from d in db.MstBranches where d.CompanyId == company.FirstOrDefault().Id select d;
                Int32 branchId = branch.FirstOrDefault().Id;

                var   account                   = from d in db.MstAccounts select d;
                Int32 incomeAccountId           = account.FirstOrDefault().Id;
                Int32 customerAdvancesAccountId = account.FirstOrDefault().Id;
                Int32 supplierAdvancesAccountId = account.FirstOrDefault().Id;

                var   discount = from d in db.MstDiscounts select d;
                Int32 defaultSalesInvoiceDiscountId = discount.FirstOrDefault().Id;

                var inventoryType       = "Moving Average";
                var officialReceiptName = "Official Receipt";
                var salesInvoiceName    = "Sales Invoice";

                Int32?salesInvoiceCheckedById  = null;
                Int32?salesInvoiceApprovedById = null;

                var adminUser = from d in db.MstUsers where d.UserName.Equals("admin") select d;
                if (adminUser.Any())
                {
                    companyId                     = adminUser.FirstOrDefault().CompanyId;
                    branchId                      = adminUser.FirstOrDefault().BranchId;
                    incomeAccountId               = adminUser.FirstOrDefault().IncomeAccountId;
                    customerAdvancesAccountId     = adminUser.FirstOrDefault().CustomerAdvancesAccountId;
                    defaultSalesInvoiceDiscountId = adminUser.FirstOrDefault().DefaultSalesInvoiceDiscountId;
                    salesInvoiceCheckedById       = adminUser.FirstOrDefault().SalesInvoiceCheckedById;
                    salesInvoiceApprovedById      = adminUser.FirstOrDefault().SalesInvoiceApprovedById;
                }

                Data.MstUser newMstUser = new Data.MstUser
                {
                    UserId                        = user.Id,
                    UserName                      = model.UserName,
                    Password                      = model.Password,
                    FullName                      = model.FullName,
                    CompanyId                     = companyId,
                    BranchId                      = branchId,
                    IncomeAccountId               = incomeAccountId,
                    SupplierAdvancesAccountId     = supplierAdvancesAccountId,
                    CustomerAdvancesAccountId     = customerAdvancesAccountId,
                    InventoryType                 = inventoryType,
                    DefaultSalesInvoiceDiscountId = defaultSalesInvoiceDiscountId,
                    SalesInvoiceName              = salesInvoiceName,
                    SalesInvoiceCheckedById       = salesInvoiceCheckedById,
                    SalesInvoiceApprovedById      = salesInvoiceApprovedById,
                    OfficialReceiptName           = officialReceiptName,
                    IsIncludeCostStockReports     = false,
                    IsLocked                      = false,
                    CreatedById                   = null,
                    CreatedDateTime               = DateTime.Now,
                    UpdatedById                   = null,
                    UpdatedDateTime               = DateTime.Now
                };

                db.MstUsers.InsertOnSubmit(newMstUser);
                db.SubmitChanges();

                var currentRegisteredUserId = newMstUser.Id;

                var mstUsersData = from d in db.MstUsers
                                   where d.Id == currentRegisteredUserId
                                   select d;

                if (mstUsersData.Any())
                {
                    var updateMstUsersData = mstUsersData.FirstOrDefault();
                    updateMstUsersData.CreatedById     = currentRegisteredUserId;
                    updateMstUsersData.CreatedDateTime = DateTime.Now;
                    updateMstUsersData.UpdatedById     = currentRegisteredUserId;
                    updateMstUsersData.UpdatedDateTime = DateTime.Now;

                    db.SubmitChanges();
                }

                Data.MstUserBranch newUserBranch = new Data.MstUserBranch
                {
                    UserId   = newMstUser.Id,
                    BranchId = branchId
                };

                db.MstUserBranches.InsertOnSubmit(newUserBranch);
                db.SubmitChanges();
            }

            return(Ok());
        }
Ejemplo n.º 22
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            var    response = HttpContext.Request.Form["g-recaptcha-response"];
            string host     = Request.Url.Host;

            string secretKey = "";

            if (host.Equals("www.easyfis.com"))
            {
                secretKey = "6LeNBiMTAAAAAMZUdKMa_Q4_XRGLjOEjpVP96fge";
            }

            if (host.Equals("innosoft.easyfis.com"))
            {
                secretKey = "6Ld-ACwUAAAAAN7eIeyjRupqGMTVIL-0QEtG1UXJ";
            }

            if (host.Equals("abomar.easyfis.com"))
            {
                secretKey = "6Ld8JSwUAAAAAMNxLO4HigrdcgE_s9puaasKjp6A";
            }

            if (host.Equals("tambayan.easyfis.com"))
            {
                secretKey = "6LcdCS0UAAAAANH_YY__9RYKl8tzpHYehdF5cdNK";
            }

            if (host.Equals("cmm.easyfis.com"))
            {
                secretKey = "6LfVdi8UAAAAAHqj_Zllw3MEqDBKuXXxSm5RP2as";
            }

            if (host.Equals("ncf.easyfis.com"))
            {
                secretKey = "6LeExTEUAAAAAPbP1FwdQyGr9AtIX4APY8AfzbKj";
            }

            if (host.Equals("3abuilders.easyfis.com"))
            {
                secretKey = "6LchYDcUAAAAAHVlDaP6IhDd2YTyEnoSRdaojT25";
            }

            var client = new System.Net.WebClient();
            var verificationResultJson = client.DownloadString(string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secretKey, response));
            var verificationResult     = JsonConvert.DeserializeObject <CaptchaVerificationResult>(verificationResultJson);

            if (!verificationResult.Success)
            {
                ModelState.AddModelError("CaptiaError", "ERROR: Invalid recaptcha challenge.");
            }
            else
            {
                if (ModelState.IsValid)
                {
                    var user = new ApplicationUser
                    {
                        UserName = model.UserName,
                        FullName = model.FullName,
                    };

                    //var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
                    var result = await UserManager.CreateAsync(user, model.Password);

                    if (result.Succeeded)
                    {
                        await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                        // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                        // Send an email with this link
                        // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                        // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                        // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                        Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();

                        var company  = from d in db.MstCompanies select d;
                        var branch   = from d in db.MstBranches where d.CompanyId == company.FirstOrDefault().Id select d;
                        var account  = from d in db.MstAccounts select d;
                        var discount = from d in db.MstDiscounts select d;

                        var companyId                     = company.FirstOrDefault().Id;
                        var branchId                      = branch.FirstOrDefault().Id;
                        var incomeAccountId               = account.FirstOrDefault().Id;
                        var supplierAdvancesAccountId     = account.FirstOrDefault().Id;
                        var customerAdvancesAccountId     = account.FirstOrDefault().Id;
                        var officialReceiptName           = "Official Receipt";
                        var inventoryType                 = "Moving Average";
                        var defaultSalesInvoiceDiscountId = discount.FirstOrDefault().Id;
                        var salesInvoiceName              = "Sales Invoice";

                        var adminUser = from d in db.MstUsers
                                        where d.UserName.Equals("admin")
                                        select d;

                        if (adminUser.Any())
                        {
                            companyId                     = adminUser.FirstOrDefault().CompanyId;
                            branchId                      = adminUser.FirstOrDefault().BranchId;
                            incomeAccountId               = adminUser.FirstOrDefault().IncomeAccountId;
                            customerAdvancesAccountId     = adminUser.FirstOrDefault().CustomerAdvancesAccountId;
                            defaultSalesInvoiceDiscountId = adminUser.FirstOrDefault().DefaultSalesInvoiceDiscountId;
                        }

                        Data.MstUser newMstUser = new Data.MstUser();
                        newMstUser.UserId                        = user.Id;
                        newMstUser.UserName                      = model.UserName;
                        newMstUser.Password                      = model.Password;
                        newMstUser.FullName                      = model.FullName;
                        newMstUser.CompanyId                     = companyId;
                        newMstUser.BranchId                      = branchId;
                        newMstUser.IncomeAccountId               = incomeAccountId;
                        newMstUser.SupplierAdvancesAccountId     = supplierAdvancesAccountId;
                        newMstUser.CustomerAdvancesAccountId     = customerAdvancesAccountId;
                        newMstUser.OfficialReceiptName           = officialReceiptName;
                        newMstUser.InventoryType                 = inventoryType;
                        newMstUser.DefaultSalesInvoiceDiscountId = defaultSalesInvoiceDiscountId;
                        newMstUser.SalesInvoiceName              = salesInvoiceName;
                        newMstUser.IsLocked                      = true;
                        newMstUser.CreatedById                   = 0;
                        newMstUser.CreatedDateTime               = DateTime.Now;
                        newMstUser.UpdatedById                   = 0;
                        newMstUser.UpdatedDateTime               = DateTime.Now;
                        db.MstUsers.InsertOnSubmit(newMstUser);
                        db.SubmitChanges();

                        var mstUsersData = from d in db.MstUsers where d.Id == newMstUser.Id select d;
                        if (mstUsersData.Any())
                        {
                            var updateMstUsersData = mstUsersData.FirstOrDefault();
                            updateMstUsersData.CreatedById = newMstUser.Id;
                            updateMstUsersData.UpdatedById = newMstUser.Id;
                            db.SubmitChanges();
                        }

                        return(RedirectToAction("Register", "Account"));
                    }

                    //AddErrors(result);
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Ejemplo n.º 23
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            Data.easyfisdbDataContext db = new Data.easyfisdbDataContext();

            var currentUser = from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d;

            if (currentUser.FirstOrDefault().UserName.Equals("admin"))
            {
                var    response  = HttpContext.Request.Form["g-recaptcha-response"];
                string secretKey = "6LfCXGcUAAAAAGG5ZPamj8Da5mqaoO0DIye1fUgv";

                var client = new System.Net.WebClient();
                var verificationResultJson = client.DownloadString(string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secretKey, response));
                var verificationResult     = JsonConvert.DeserializeObject <CaptchaVerificationResult>(verificationResultJson);

                if (!verificationResult.Success)
                {
                    ModelState.AddModelError("CaptiaError", "Invalid recaptcha challenge.");
                }
                else
                {
                    if (ModelState.IsValid)
                    {
                        var user = new ApplicationUser
                        {
                            UserName = model.UserName,
                            FullName = model.FullName,
                        };

                        // var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
                        var result = await UserManager.CreateAsync(user, model.Password);

                        if (result.Succeeded)
                        {
                            //await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);

                            // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                            // Send an email with this link
                            // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                            // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                            // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                            int newUserId = 0;

                            var adminUser = from d in db.MstUsers where d.UserName.Equals("admin") select d;
                            if (adminUser.Any())
                            {
                                Data.MstUser newUser = new Data.MstUser
                                {
                                    UserId                                = user.Id,
                                    UserName                              = model.UserName,
                                    Password                              = model.Password,
                                    FullName                              = model.FullName,
                                    CompanyId                             = adminUser.FirstOrDefault().CompanyId,
                                    BranchId                              = adminUser.FirstOrDefault().BranchId,
                                    IncomeAccountId                       = adminUser.FirstOrDefault().IncomeAccountId,
                                    SupplierAdvancesAccountId             = adminUser.FirstOrDefault().SupplierAdvancesAccountId,
                                    CustomerAdvancesAccountId             = adminUser.FirstOrDefault().CustomerAdvancesAccountId,
                                    InventoryType                         = adminUser.FirstOrDefault().InventoryType,
                                    DefaultSalesInvoiceDiscountId         = adminUser.FirstOrDefault().DefaultSalesInvoiceDiscountId,
                                    SalesInvoiceName                      = adminUser.FirstOrDefault().SalesInvoiceName,
                                    SalesInvoicePrefix                    = adminUser.FirstOrDefault().SalesInvoicePrefix,
                                    SalesInvoiceCheckedById               = adminUser.FirstOrDefault().SalesInvoiceCheckedById,
                                    SalesInvoiceApprovedById              = adminUser.FirstOrDefault().SalesInvoiceApprovedById,
                                    OfficialReceiptName                   = adminUser.FirstOrDefault().OfficialReceiptName,
                                    OfficialReceiptPrefix                 = adminUser.FirstOrDefault().OfficialReceiptPrefix,
                                    IsIncludeCostStockReports             = adminUser.FirstOrDefault().IsIncludeCostStockReports,
                                    ActivateAuditTrail                    = adminUser.FirstOrDefault().ActivateAuditTrail,
                                    IsSIVATAnalysisIncluded               = adminUser.FirstOrDefault().IsSIVATAnalysisIncluded,
                                    IsSIDuplicateDocumentReferenceAllowed = adminUser.FirstOrDefault().IsSIDuplicateDocumentReferenceAllowed,
                                    CustomerReturnAccountId               = adminUser.FirstOrDefault().CustomerReturnAccountId,
                                    SupplierReturnAccountId               = adminUser.FirstOrDefault().SupplierReturnAccountId,
                                    IsLocked                              = false,
                                    CreatedById                           = adminUser.FirstOrDefault().Id,
                                    CreatedDateTime                       = DateTime.Now,
                                    UpdatedById                           = adminUser.FirstOrDefault().Id,
                                    UpdatedDateTime                       = DateTime.Now
                                };

                                db.MstUsers.InsertOnSubmit(newUser);
                                db.SubmitChanges();

                                newUserId = newUser.Id;

                                return(Redirect("/Software/UsersDetail?id=" + newUserId));
                            }
                        }

                        AddErrors(result);
                    }
                }
            }
            else
            {
                ModelState.AddModelError("AdminError", "As of now, only the Admin has rights to register new user. Please contact Administrator.");
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }