public List <CalendarModel> GetMaidCalendar(int minTime, int maxTime) { IEnumerable <string> values; if (Request.Headers.TryGetValues("Token", out values)) { var token = values.First(); var tokenModel = JsonConvert.DeserializeObject <TokenModel>(Encrypt.Base64Decode(token)); var maid = _service.GetActiveMaidById(tokenModel.Id); if (Equals(maid, null)) { ExceptionContent(HttpStatusCode.Unauthorized, "err_account_not_found"); } var x = 60 * 60 * 24; var result = new List <CalendarModel>(); var contractEmployees = _service.GetAllCurrentContractEmployeeByEmployeeId(maid.employee_id); while (minTime < maxTime) { var max = minTime + x; var dow = (int)ConvertDatetime.UnixTimeStampToDateTime(minTime).DayOfWeek; var apartmentList = new List <ApartmentModel>(); foreach (var item in contractEmployees) { var days = item.work_date.Split(',').ToList(); if (days.IndexOf(dow.ToString()) != -1) { var apartment = new ApartmentModel { Id = item.contract.apartment.apartment_id, Code = item.contract.apartment.code, NoBedRoom = item.contract.no_bedroom, WorkHour = item.work_hour, Address = item.contract.address, NoApartment = item.contract.no_apartment, Building = item.contract.building, Project = !Equals(item.contract.apartment.project_id, null) ? new ProjectModel { Name = item.contract.apartment.project.project_content.FirstOrDefault(p => p.language == 0).name } : new ProjectModel() }; apartmentList.Add(apartment); } } var calendar = new CalendarModel { ApartmentList = apartmentList, Time = minTime }; result.Add(calendar); minTime = max; } return(result); } return(new List <CalendarModel>()); }