Exemplo n.º 1
0
        public Task <HolidayWrap> GetHoliday(string Month, int Year)
        {
            return(Task.Run(() =>
            {
                string s = Year + "-" + Month;
                DateTime dt = DateTime.ParseExact(s, "yyyy-MMM", CultureInfo.InvariantCulture);
                using (MIUEntities db = new MIUEntities())
                {
                    HolidayWrap holidayWrap = new HolidayWrap();
                    List <HolidayInfo> HolidayInfos = new List <HolidayInfo>();

                    List <Holiday> holiday = db.Holidays.Where(x => x.Date.Year == dt.Year && x.Date.Month == dt.Month).OrderBy(x => x.Date).ToList();

                    foreach (var data in holiday)
                    {
                        HolidayInfo info = new HolidayInfo();

                        PropertyCopier <Holiday, HolidayInfo> .Copy(data, info);
                        info.Week = data.Date.ToString("ddd");
                        info.Day = data.Date.Day.ToString();
                        HolidayInfos.Add(info);
                    }

                    holidayWrap.HolidayInfo = HolidayInfos;
                    holidayWrap.TotalHoliday = HolidayInfos.Count;

                    return holidayWrap;
                }
            }));
        }
        public async Task <HttpResponseMessage> GetHoliday(string Month, int Year)
        {
            try
            {
                TimeTableDAL dal  = new TimeTableDAL();
                HolidayWrap  data = await dal.GetHoliday(Month, Year);

                if (data != null)
                {
                    return(Request.CreateResponse <HolidayWrap>(HttpStatusCode.OK, data));
                }
                else
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.NotFound, Constants.ErrorNotFound));
                }
            }
            catch (DbEntityValidationException ex)
            {
                var    controllerName = ControllerContext.RouteData.Values["controller"].ToString();
                var    actionName     = ControllerContext.RouteData.Values["action"].ToString();
                Logger log            = new Logger();
                log.ErrorLog(ex, controllerName, actionName);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, Constants.ErrorSysError));
            }
        }