Exemple #1
0
 public static DalUser.User ApiToDal(this UserDetailed user)
 {
     return(new DalUser.User()
     {
         Id = user.Id,
         NationalNumber = user.NationalNumber,
         LastName = user.LastName,
         FirstName = user.FirstName,
         Birthdate = user.Birthdate,
         AdCity = user.AdCity,
         AdPostalCode = user.AdPostalCode,
         AdStreet = user.AdStreet,
         AdNumber = user.AdNumber,
         AdBox = user.AdBox,
         MobilePhone = user.MobilePhone,
         Login = user.Login,
         Password = user.Password,
         Gender = user.Gender,
         Photo = user.Photo,
         PersonalNote = user.PersonalNote,
         StartDate = user.StartDate,
         FirstLogin = user.lastResetPwd,
         Email = user.Email,
         ClassId = user.ClassId,
         StatusCode = user.StatusCode
     });
 }
        private async void ListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            var item = e.SelectedItem as MainPageMenuItem;

            if (item == null)
            {
                return;
            }

            if (item.Id == 0)
            {
                if (user == null)
                {
                    using (UserDialogs.Instance.Loading(null, null, null, true, MaskType.Black))
                    {
                        user = await App.dataFactory.GetCurrentUser();
                    }
                }

                await Navigation.PushModalAsync(new UserDetailsPage(user));
            }
            else if (item.Id == 1)
            {
                await Navigation.PushModalAsync(new EmployeeStats(DetailPage.employees.Employees));
            }

            IsPresented = false;
            MasterPage.ListView.SelectedItem = null;
        }
        [HttpPost] /*POSTMAN OK*/
        public IActionResult Create([FromBody] UserDetailed user)
        {
            switch (_userRepo.Create(user.ApiToDal()))
            {
            case (DBErrors.Success):
                user.Id = _userRepo.getIdWithNN(user.NationalNumber);
                if (!(user.Contacts is null))
                {
                    foreach (A.Contact C in user.Contacts)
                    {
                        switch (_contactRepo.LinkEntityWithUser(C.Id, user.Id))
                        {
                        case (DBErrors.Success):
                            break;

                        case (DBErrors.LinkAlreadyExist):
                            return(Problem("A link is already active between theses id's.", statusCode: (int)HttpStatusCode.BadRequest));

                        default:
                            break;
                        }
                    }
                }
                IEnumerable <Status> statusList = StatusCodeService.Deserialize(user.StatusCode);
                if (!(statusList is null))
                {
                    foreach (Status s in statusList)
                    {
                        switch (_statusRepo.LinkEntityWithUser(s.Id, user.Id))
                        {
                        case (DBErrors.Success):
                            break;

                        case (DBErrors.LinkAlreadyExist):
                            return(Problem("A link is already active between theses id's.", statusCode: (int)HttpStatusCode.BadRequest));

                        default:
                            break;
                        }
                    }
                }
                return(Ok());

            case (DBErrors.ClassId_NotFound):
                return(Problem("A valid ClassId is needed.", statusCode: (int)HttpStatusCode.BadRequest));

            case (DBErrors.NationalNumber_Exist):
                return(Problem("NationalNumber already exist.", statusCode: (int)HttpStatusCode.BadRequest));

            case (DBErrors.NullExeption):
                return(Problem("A mandatory field does not support 'null' value or is missing", statusCode: (int)HttpStatusCode.BadRequest));

            case (DBErrors.StartDate_Birthdate_Error):
                return(Problem("Birthdate should be lower than StartDate.", statusCode: (int)HttpStatusCode.BadRequest));

            default:
                return(Problem("?", statusCode: (int)HttpStatusCode.NotFound));
            }
        }
        /// <summary>
        /// Returns a detailed class of the current user with all the information they can view about themselves
        /// </summary>
        /// <returns></returns>
        public async Task <UserDetailed> GetCurrentUser()
        {
            var result = await httpClient.GetStringAsync(url + "employee/me/");

            UserDetailed currentUser = JsonConvert.DeserializeObject <UserDetailed>(result);

            return(currentUser);
        }
Exemple #5
0
        public UserDetailsPage(UserDetailed user)
        {
            InitializeComponent();

            stkIdNumber.IsVisible = !user.IsForeigner;
            stkVisaDoc.IsVisible  = user.IsForeigner;
            stkEndDate.IsVisible  = (user.EndDate == null) ? false : true;

            this.BindingContext = user;
        }
        public async Task <dynamic> SteamId()
        {
            var steamId = User.GetSteamId();
            var user    = await _repoServiceFactory.UserRepoService.FindAsync(steamId);

            var userDetailed = new UserDetailed
            {
                ImageUrl   = user.ImageUrl,
                Name       = user.Name,
                SteamId    = user.SteamId,
                Tradelink  = user.TradeLink,
                Created    = user.Created,
                LastActive = user.LastActive,
                Quote      = user.Quote
            };

            return(userDetailed);
        }
Exemple #7
0
        public async Task <ActionResult> UpdateUser([FromBody] UserUpdateRequest request)
        {
            var user = new UserDetailed
            {
                UserName     = UserName,
                FirstName    = request.FirstName,
                LastName     = request.LastName,
                Email        = request.Email,
                Topics       = request.Topics,
                Introduction = request.Introduction,
            };
            var ret = await userService.UpdateUser(user);

            if (ret == null)
            {
                return(NotFound());
            }
            return(Ok());
        }
Exemple #8
0
        public async Task <UserDetailed> UpdateUser(UserDetailed user)
        {
            var dbUser = await dbcontext.Users
                         .Include(u => u.UserTopics)
                         .SingleOrDefaultAsync(u => u.UserName == user.UserName);

            if (dbUser == null)
            {
                return(null);
            }
            dbUser.Email        = user.Email;
            dbUser.FirstName    = user.FirstName;
            dbUser.LastName     = user.LastName;
            dbUser.Introduction = user.Introduction;

            dbUser.UserTopics.Clear();

            foreach (var item in user.Topics)
            {
                var dbTopic = await dbcontext.Topics.SingleOrDefaultAsync(t => t.Id == item.Id);

                if (dbTopic != null)
                {
                    dbUser.UserTopics.Add(new DbUserTopic()
                    {
                        Topic   = dbTopic,
                        TopicId = dbTopic.Id,
                        User    = dbUser,
                        UserId  = dbUser.Id,
                    });
                }
            }
            await dbcontext.SaveChangesAsync();

            return(DbMapper.MapDbUserDetailed(dbUser));
        }
Exemple #9
0
 public async Task <UserDetailed> UpdateUser(UserDetailed user)
 {
     return(await userRepo.UpdateUser(user));
 }