示例#1
0
        public async Task <JsonResult> Create(CustomerUserEditViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Json(false, data: ErrorToDictionary()));
            }

            var user = new SaleUser
            {
                Email          = model.Email,
                UserName       = model.UserName,
                Name           = model.Name,
                EmailConfirmed = true,
                Telephone      = model.Telephone,
                Mobile         = model.Mobile,
                Status         = UserStatus.Normal,
                IdentityType   = IdentityType.Customer,
                CompanyId      = User.CompanyId,
                RoleId         = model.RoleId
            };

            var result = await new UserManager().RegisterAsync(user, model.Password);

            if (result.Succeeded)
            {
                model.Id = user.Id;
                await SaveCustomerDiscountRate(model);
                await SaveCustomerInfo(model);
            }
            return(Json(result));
        }
示例#2
0
        public async Task <JsonResult> Edit(CustomerUserEditViewModel model)
        {
            ModelState.Remove("Password");
            ModelState.Remove("ConfirmPassword");
            if (!ModelState.IsValid)
            {
                return(Json(false, data: ErrorToDictionary()));
            }

            var manager = new UserManager();
            var user    = await manager.FindByIdAsync(model.Id);

            user.Mobile = model.Mobile;
            user.Name   = model.Name;
            user.Email  = model.Email;

            var result = await manager.UpdateAsync(user);

            if (result.Succeeded)
            {
                await SaveCustomerDiscountRate(model);
                await SaveCustomerInfo(model);
            }
            return(Json(result));
        }
示例#3
0
        public async Task <ActionResult> Edit(string id)
        {
            var manager = new UserManager();
            var user    = await manager.FindByIdAsync(id);

            var customerUserEditViewModel = new CustomerUserEditViewModel(user);
            var discountRateManager       = new DiscountRateManager();
            var discountRate = await discountRateManager.GetCustomerDiscountRateAsync(user.Id);

            if (discountRate != null)
            {
                customerUserEditViewModel.PriceOfWorkDiscountRate = discountRate.PriceOfWork;
                customerUserEditViewModel.SideStoneDiscountRate   = discountRate.SideStone;
                customerUserEditViewModel.StoneSetterDiscountRate = discountRate.StoneSetter;
                customerUserEditViewModel.Loss18KRate             = discountRate.Loss18K;
                customerUserEditViewModel.LossPtRate = discountRate.LossPt;
            }

            var customerInfoManager = new CustomerInfoManager(User);
            var customerInfo        = await customerInfoManager.GetCustomerInfoAsync(user.Id);

            if (customerInfo != null)
            {
                customerUserEditViewModel.Address = customerInfo.Address;
            }

            return(View(customerUserEditViewModel));
        }
示例#4
0
        public async Task <ActionResult> Create()
        {
            var customerUserEditViewModel = new CustomerUserEditViewModel();
            var roleManager = new RoleManager(User);
            var role        = await roleManager.GetRoleAsync(SaleManagement.Core.SaleManagentConstants.SystemRole.CommonUser);

            customerUserEditViewModel.RoleId = role.Id;
            return(View(customerUserEditViewModel));
        }
示例#5
0
        private async Task SaveCustomerInfo(CustomerUserEditViewModel model)
        {
            var manager      = new CustomerInfoManager(User);
            var customerInfo = await manager.GetCustomerInfoAsync(model.Id);

            if (customerInfo == null)
            {
                customerInfo = new CustomerInfo();
            }

            customerInfo.UserId  = model.Id;
            customerInfo.Address = model.Address;

            await manager.SaveCustomerInfoAsync(customerInfo);
        }
示例#6
0
        private async Task SaveCustomerDiscountRate(CustomerUserEditViewModel model)
        {
            var manager      = new DiscountRateManager();
            var discountRate = await manager.GetCustomerDiscountRateAsync(model.Id);

            discountRate.CreatorId   = User.Id;
            discountRate.Created     = DateTime.Now;
            discountRate.CustomerId  = model.Id;
            discountRate.PriceOfWork = model.PriceOfWorkDiscountRate;
            discountRate.SideStone   = model.SideStoneDiscountRate;
            discountRate.StoneSetter = model.StoneSetterDiscountRate;
            discountRate.LossPt      = model.LossPtRate;
            discountRate.Loss18K     = model.Loss18KRate;

            await manager.SaveDiscountRateAsync(discountRate);
        }