Beispiel #1
0
        /// <summary>
        /// Method Code: 001
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public ApiResult <Res_User> AddUser(Req_Register user)
        {
            var result = new ApiResult <Res_User>(ServiceCode, "001");

            try
            {
                var userItem = new User()
                {
                    CityId          = 0,
                    Name            = user.Name,
                    Username        = user.Username,
                    Email           = user.Email,
                    Password        = user.Password,
                    Gender          = user.Gender,
                    Follower        = 0,
                    Followed        = 0,
                    IsActive        = 0,
                    ProfileImageURL = "",
                    RegisterDate    = DateTime.Now
                };

                var findUser = _unitOfWork.Users.SingleOrDefault(w => w.Email == userItem.Email || w.Username == userItem.Username);

                // Aynı kayda sahip başka bir kullancıı mevcut mu?
                if (findUser != null)
                {
                    result.SetError("Aynı e-postaya veya kullanıcı adına sahip başka bir kullanıcı bulunmaktadır.", 405);
                    result.Data = null;
                }
                else
                {
                    _unitOfWork.Users.Add(userItem);


                    MailValues mailValues = new MailValues()
                    {
                        IsBodyHtml = true,
                        Subject    = "CombinEseR Kullanıcı Kayıt Bilgisi",
                        Body       = MailManager.GetMailTemplate("Kullanıcı Kayıt Bildirimi", $"Aramıza Hoşgeldiniz, {user.Name}", null),
                        List_To    = new List <string>()
                        {
                            user.Email
                        }
                    };


                    MailManager.SendMail(mailValues);

                    result.Data = _mapper.Map <User, Res_User>(userItem);

                    _unitOfWork.Commit();
                    result.SetSuccess("Kullanıcı başarıyla sisteme kaydedildi.");
                }

                return(result);
            }
            catch (Exception e)
            {
                result.SetException(e);
                return(result);
            }
        }