Beispiel #1
0
        public async void Update(UserDTM userDtm)
        {
            try
            {
                var  config = new MapperConfiguration(cfg => cfg.CreateMap <UserDTM, User>());
                var  mapper = new Mapper(config);
                User user   = mapper.Map <User>(userDtm);

                await Database.Users.Update(user);
            }
            catch (Exception ex) { Console.Out.WriteLine(ex.Message); }
        }
Beispiel #2
0
        public static UserDTM changeToDTM(User user)
        {
            UserDTM userDtm = new UserDTM();

            userDtm.Id               = user.Id;
            userDtm.Email            = user.Email;
            userDtm.FirstName        = user.FirstName;
            userDtm.SecondName       = user.SecondName;
            userDtm.PhoneMobile      = user.PhoneMobile;
            userDtm.PhoneOffice      = user.PhoneOffice;
            userDtm.UserPicture      = user.UserPicture;
            userDtm.Address          = user.Address;
            userDtm.City             = user.City;
            userDtm.State            = user.State;
            userDtm.ZipCode          = user.ZipCode;
            userDtm.PlanId           = user.PlanId;
            userDtm.IsPaymentOverdue = user.IsPaymentOverdue;
            userDtm.IsMale           = user.IsMale;
            userDtm.Birthdate        = user.Birthdate;

            if (user.Country != null)
            {
                CountryDTM country = new CountryDTM();
                country.Id          = user.Country.Id;
                country.Code        = user.Country.Code;
                country.Name        = user.Country.Name;
                country.Native      = user.Country.Native;
                country.PhonePrefix = user.Country.PhonePrefix;
                country.Capital     = user.Country.Capital;
                country.Currency_   = user.Country.Currency_;
                country.Emoji       = user.Country.Emoji;
                country.EmojiU      = user.Country.EmojiU;
                userDtm.Country     = country;
            }

            if (user.Time_zone != null)
            {
                Time_zoneDTM tz = new Time_zoneDTM();
                tz.Id             = user.Time_zone.Id;
                tz.Zone           = user.Time_zone.Zone;
                tz.CountryCode    = user.Time_zone.CountryCode;
                tz.UTC_Jan_1_2020 = user.Time_zone.UTC_Jan_1_2020;
                tz.DST_Jul_1_2020 = user.Time_zone.DST_Jul_1_2020;
                userDtm.Time_zone = tz;
            }
            return(userDtm);
        }
Beispiel #3
0
        public HttpResponseMessage Put([FromBody] UserDTM userDTM)
        {
            try
            {
                var originalUser = TheRepo.UsersDTM.Get(userDTM.Id);

                if (originalUser == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.NotModified, "User is not found"));
                }
                else
                {
                    TheRepo.UsersDTM.Update(userDTM);
                    return(Request.CreateResponse(HttpStatusCode.OK, userDTM));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Beispiel #4
0
        public async Task <bool> Create(UserDTM userDtm)
        {
            try
            {
                User user = new User
                {
                    Id          = userDtm.Id,
                    Email       = userDtm.Email,
                    FirstName   = userDtm.FirstName,
                    SecondName  = userDtm.SecondName,
                    CountryId   = userDtm.CountryId,
                    Time_ZoneId = userDtm.Time_ZoneId,
                    Birthdate   = userDtm.Birthdate,
                    PlanId      = userDtm.PlanId,
                    City        = userDtm.City
                };
                await Database.Users.Create(user);

                return(true);
            }
            catch { return(false); }
        }
Beispiel #5
0
        public async Task <IHttpActionResult> Register(RegisterBindingModel model)
        {
            IdentityResult result = null;

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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


                if (result.Succeeded)
                {
                    // генерируем токен для подтверждения регистрации
                    var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);

                    // создаем ссылку для подтверждения
                    var callbackUrl = Url.Link("Default", new
                    {
                        Controller = "Account",
                        Action     = "ConfirmEmail",
                        userId     = user.Id,
                        code       = code
                    });
                    // отправка письма
                    await UserManager.SendEmailAsync(user.Id, "Подтверждение электронной почты",
                                                     "Для завершения регистрации перейдите по ссылке:: <a href=\""
                                                     + callbackUrl + "\">завершить регистрацию</a>");

                    UserDTM newUser = new UserDTM();
                    newUser.Id    = user.Id; newUser.FirstName = user.FirstName;
                    newUser.Email = user.UserName;
                    if (model.MemberPlan == 1)
                    {
                        await UserManager.AddToRoleAsync(user.Id, "FreeMember");

                        newUser.PlanId = 1;
                    }
                    if (model.MemberPlan == 2)
                    {
                        await UserManager.AddToRoleAsync(user.Id, "GoldMember");

                        newUser.PlanId = 2;
                    }
                    if (model.MemberPlan == 3)
                    {
                        await UserManager.AddToRoleAsync(user.Id, "PlatinumMember");

                        newUser.PlanId = 3;
                    }
                    if (model.MemberPlan == 777)
                    {
                        await UserManager.AddToRoleAsync(user.Id, "Admin");

                        newUser.PlanId = 777;
                    }
                    if (model.MemberPlan == 888)
                    {
                        await UserManager.AddToRoleAsync(user.Id, "Moderator");

                        newUser.PlanId = 888;
                    }
                    else
                    {
                        Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Try again!");
                    }

                    await TheRepo.UsersDTM.Create(newUser);

                    BusinessDTM busines = new BusinessDTM();
                    busines.Name = model.BusinessName;
                    int businessId = await TheRepo.BusinessesDTM.Create(busines);
                }
            }
            //-----------------------------
            //DpapiDataProtectionProvider provider = new DpapiDataProtectionProvider("WebApi");
            //var userStore = new UserStore<ApplicationUser>(new ApplicationDbContext());
            //var userManager = new UserManager<ApplicationUser>(userStore)
            //{
            //    PasswordValidator = new PasswordValidator
            //    {
            //        RequiredLength = 3
            //    },
            //    UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>(provider.Create("EmailConfirmation"))
            //};
            //var user = new ApplicationUser()
            //{
            //    UserName = model.Email,
            //    Email = model.Email,
            //    FirstName = model.FirstName
            //};
            //result = userManager.Create(user, model.Password);
            //if (user != null)
            //{
            //    string code = userManager.GenerateEmailConfirmationToken(user.Id);
            //    code = HttpUtility.UrlEncode(code);
            //    try
            //    {
            //        var emailService = new EmailService();
            //        string callbackUrl = Url.Link("DefaultApi", new { controller = "Account/ConfirmEmail", userId = user.Id, code });
            //        string body = "<h5>Welcome " + model.Email + "! Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</h5>";
            //        //emailService. .GenerateEmailConfirmationBody(body, callbackUrl);
            //        string from = ConfigurationManager.AppSettings["From"];
            //        string to = user.Email;
            //        string subject = ConfigurationManager.AppSettings["EmailConfirmation"];
            //        IdentityMessage message = new IdentityMessage { Destination = to, Subject = "Account Confirmation", Body = body };
            //        await emailService.SendAsync(message);
            //            //emailService.GenerateEmailHistoryEntry(message, user.Email, client, "Email Confirmation");

            //    }
            //    catch (Exception)
            //    {
            //        throw;
            //    }


            //}


            //-----------------------------
            return(Ok());
        }