示例#1
0
        public ResponseOut RegisterUser(RegisterUserViewModel user)
        {
            using (PortalEntities _context = new PortalEntities())
            {
                ResponseOut responseOut = new ResponseOut();
                try
                {
                    var check_user_name = _context.portal_user.Where(x => x.user_name.ToLower() == user.username.ToLower()).Any();
                    var check_email     = _context.portal_user.AsEnumerable().Where(x => (user.email != null && user.email != "" && x.email != null) && x.email.ToLower() == user.email.ToLower()).Any();
                    var hash            = Guid.NewGuid().ToString();

                    if (check_user_name)
                    {
                        responseOut.status  = ActionStatus.Fail;
                        responseOut.message = ActionMessage.UsernameAlreadyExist;
                        return(responseOut);
                    }

                    if (check_email)
                    {
                        responseOut.status  = ActionStatus.Fail;
                        responseOut.message = ActionMessage.EmailAlreadyExist;
                        return(responseOut);
                    }

                    portal_user _user = new portal_user();
                    _user.firstname    = user.fullname;
                    _user.created_date = DateTime.Now;
                    _user.email        = user.email;
                    _user.contact      = user.contact;
                    _user.password     = Utilities.MD5Hash(user.password);
                    _user.user_name    = user.username;
                    _user.is_active    = true;
                    _user.user_hash    = hash;
                    _context.portal_user.Add(_user);
                    int return_code = _context.SaveChanges();
                    if (return_code == 1)
                    {
                        portal_user_role_mapping _role_map = new portal_user_role_mapping();
                        _role_map.fk_role_id = user.user_type;
                        _role_map.fk_user_id = _user.pk_user_id;
                        _context.portal_user_role_mapping.Add(_role_map);
                        _context.SaveChanges();
                        responseOut.status  = ActionStatus.Success;
                        responseOut.message = ActionMessage.ProfileCreatedSuccess;
                    }
                    responseOut.trnId = _user.pk_user_id;
                    responseOut.hash  = _user.user_hash;
                    responseOut.email = _user.email;
                }
                catch (Exception ex)
                {
                    responseOut.status  = ActionStatus.Fail;
                    responseOut.message = ActionMessage.ApplicationException;
                }
                return(responseOut);
            }
        }
示例#2
0
        public ResponseOut AddUserProfile(UserViewModel model)
        {
            using (PortalEntities _context = new PortalEntities())
            {
                ResponseOut responseOut = new ResponseOut();
                try
                {
                    var check_user_name = _context.portal_user.AsEnumerable().Where(x => x.user_name.ToLower() == model.user_name.ToLower()).Any();
                    var check_email     = _context.portal_user.AsEnumerable().Where(x => (model.email != null && model.email != "") && x.email.ToLower() == model.email.ToLower()).Any();

                    if (check_user_name)
                    {
                        responseOut.status  = ActionStatus.Fail;
                        responseOut.message = ActionMessage.UsernameAlreadyExist;
                        return(responseOut);
                    }

                    if (check_email)
                    {
                        responseOut.status  = ActionStatus.Fail;
                        responseOut.message = ActionMessage.EmailAlreadyExist;
                        return(responseOut);
                    }

                    portal_user _user = new portal_user();
                    _user.firstname    = model.firstname;
                    _user.lastname     = model.lastname;
                    _user.updated_date = DateTime.Now;
                    _user.user_hash    = Guid.NewGuid().ToString();
                    _user.email        = model.email;
                    _user.contact      = model.contact;
                    _user.password     = Utilities.MD5Hash(model.password);
                    _user.user_name    = model.user_name;
                    if (model.fk_country_id != 0)
                    {
                        _user.fk_country_id = model.fk_country_id;
                    }
                    else
                    {
                        _user.fk_country_id = null;
                    }
                    _user.fk_city_id  = model.fk_city_id;
                    _user.fk_state_id = model.fk_state_id;
                    _user.profile_pic = model.profile_pic;
                    _user.about_us    = model.about_us;
                    _user.is_active   = model.is_active;
                    _context.portal_user.Add(_user);
                    int return_code = _context.SaveChanges();
                    if (return_code == 1)
                    {
                        portal_user_role_mapping _role_map = new portal_user_role_mapping();
                        _role_map.fk_role_id = model.fk_user_type;
                        _role_map.fk_user_id = _user.pk_user_id;
                        _context.portal_user_role_mapping.Add(_role_map);
                        _context.SaveChanges();
                        responseOut.status  = ActionStatus.Success;
                        responseOut.message = ActionMessage.ProfileCreatedSuccess;
                    }
                    responseOut.trnId = _user.pk_user_id;
                    responseOut.email = _user.email;
                }
                catch (DbEntityValidationException e)
                {
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                          eve.Entry.Entity.GetType().Name, eve.Entry.State);
                        foreach (var ve in eve.ValidationErrors)
                        {
                            Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                              ve.PropertyName, ve.ErrorMessage);
                        }
                    }
                    throw;
                }
                catch (Exception ex)
                {
                    responseOut.status  = ActionStatus.Fail;
                    responseOut.message = ActionMessage.ApplicationException;
                }
                return(responseOut);
            }
        }