public ActionResult DeleteConfirmed(T_Schedule t_schedule, string UrlReferrer)
 {
     if (!User.CanDelete("T_Schedule"))
     {
         return(RedirectToAction("Index", "Error"));
     }
     if (CheckBeforeDelete(t_schedule))
     {
         //Delete Document
         db.Entry(t_schedule).State = EntityState.Deleted;
         db.T_Schedules.Remove(t_schedule);
         db.SaveChanges();
         if (!string.IsNullOrEmpty(UrlReferrer))
         {
             return(Redirect(UrlReferrer));
         }
         if (ViewData["T_ScheduleParentUrl"] != null)
         {
             string parentUrl = ViewData["T_ScheduleParentUrl"].ToString();
             ViewData["T_ScheduleParentUrl"] = null;
             return(Redirect(parentUrl));
         }
         else
         {
             return(RedirectToAction("Index"));
         }
     }
     return(View(t_schedule));
 }
        public ActionResult BulkUpdate([Bind(Include = "Id,ConcurrencyKey,T_Name,T_Description,T_AssociatedScheduleTypeID,T_StartDateTime,T_AssociatedRecurringScheduleDetailsTypeID,T_RecurringRepeatFrequencyID,T_RepeatByID,T_RecurringTaskEndTypeID,T_EndDate,T_OccurrenceLimitCount,T_Summary,SelectedT_RecurrenceDays_T_RepeatOn,T_StartTime,T_EndTime,T_EntityName")] T_Schedule t_schedule, FormCollection collection, string UrlReferrer)
        {
            var bulkIds   = collection["BulkUpdate"].Split(',').ToList();
            var chkUpdate = collection["chkUpdate"];

            if (!string.IsNullOrEmpty(chkUpdate))
            {
                foreach (var id in bulkIds.Where(p => p != string.Empty))
                {
                    long       objId  = long.Parse(id);
                    T_Schedule target = db.T_Schedules.Find(objId);
                    EntityCopy.CopyValuesForSameObjectType(t_schedule, target, chkUpdate);
                    db.Entry(target).State = EntityState.Modified;
                    try
                    {
                        db.SaveChanges();
                    }
                    catch { }
                }
            }
            if (!string.IsNullOrEmpty(UrlReferrer))
            {
                return(Redirect(UrlReferrer));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
        public ActionResult BulkAssociate(long[] ids, string AssociatedType, string HostingEntity, string HostingEntityID)
        {
            var HostingID = Convert.ToInt64(HostingEntityID);

            if (HostingID == 0)
            {
                return(Json("Error", "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet));
            }
            if (HostingEntity == "T_Scheduletype" && AssociatedType == "T_AssociatedScheduleType")
            {
                foreach (var id in ids.Where(p => p > 0))
                {
                    T_Schedule obj = db.T_Schedules.Find(id);
                    db.Entry(obj).State            = EntityState.Modified;
                    obj.T_AssociatedScheduleTypeID = HostingID;
                    db.SaveChanges();
                }
            }
            if (HostingEntity == "T_RecurringScheduleDetailstype" && AssociatedType == "T_AssociatedRecurringScheduleDetailsType")
            {
                foreach (var id in ids.Where(p => p > 0))
                {
                    T_Schedule obj = db.T_Schedules.Find(id);
                    db.Entry(obj).State = EntityState.Modified;
                    obj.T_AssociatedRecurringScheduleDetailsTypeID = HostingID;
                    db.SaveChanges();
                }
            }
            if (HostingEntity == "T_RecurringFrequency" && AssociatedType == "T_RecurringRepeatFrequency")
            {
                foreach (var id in ids.Where(p => p > 0))
                {
                    T_Schedule obj = db.T_Schedules.Find(id);
                    db.Entry(obj).State = EntityState.Modified;
                    obj.T_RecurringRepeatFrequencyID = HostingID;
                    db.SaveChanges();
                }
            }
            if (HostingEntity == "T_MonthlyRepeatType" && AssociatedType == "T_RepeatBy")
            {
                foreach (var id in ids.Where(p => p > 0))
                {
                    T_Schedule obj = db.T_Schedules.Find(id);
                    db.Entry(obj).State = EntityState.Modified;
                    obj.T_RepeatByID    = HostingID;
                    db.SaveChanges();
                }
            }
            if (HostingEntity == "T_RecurringEndType" && AssociatedType == "T_RecurringTaskEndType")
            {
                foreach (var id in ids.Where(p => p > 0))
                {
                    T_Schedule obj = db.T_Schedules.Find(id);
                    db.Entry(obj).State          = EntityState.Modified;
                    obj.T_RecurringTaskEndTypeID = HostingID;
                    db.SaveChanges();
                }
            }
            return(Json("Success", "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet));
        }
 public ActionResult CreateQuick([Bind(Include = "Id,ConcurrencyKey,T_Name,T_Description,T_AssociatedScheduleTypeID,T_StartDateTime,T_AssociatedRecurringScheduleDetailsTypeID,T_RecurringRepeatFrequencyID,T_RepeatByID,T_RecurringTaskEndTypeID,T_EndDate,T_OccurrenceLimitCount,T_Summary,T_StartTime,T_EndTime,T_EntityName")] T_Schedule t_schedule, string UrlReferrer, bool?IsAddPop, string AssociatedEntity)
 {
     CheckBeforeSave(t_schedule);
     if (ModelState.IsValid)
     {
         db.T_Schedules.Add(t_schedule);
         db.SaveChanges();
         return(Json("FROMPOPUP", "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet));
     }
     else
     {
         var errors = "";
         foreach (ModelState modelState in ViewData.ModelState.Values)
         {
             foreach (ModelError error in modelState.Errors)
             {
                 errors += error.ErrorMessage + ".  ";
             }
         }
         return(Json(errors, "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet));
     }
     LoadViewDataAfterOnCreate(t_schedule);
     if (!string.IsNullOrEmpty(AssociatedEntity))
     {
         LoadViewDataForCount(t_schedule, AssociatedEntity);
     }
     return(View(t_schedule));
 }
        public ActionResult EditWizard(int?id, string UrlReferrer)
        {
            if (!User.CanEdit("T_Schedule"))
            {
                return(RedirectToAction("Index", "Error"));
            }
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            T_Schedule t_schedule = db.T_Schedules.Find(id);

            if (t_schedule == null)
            {
                return(HttpNotFound());
            }
            //t_schedule.T_RecurrenceDays_T_RepeatOn = db.T_RecurrenceDayss.OrderBy(x => x.DisplayValue).ToList();
            t_schedule.SelectedT_RecurrenceDays_T_RepeatOn = db.T_RepeatOns.Where(a => a.T_ScheduleID == t_schedule.Id).Select(p => p.T_RecurrenceDaysID).ToList();

            if (UrlReferrer != null)
            {
                ViewData["T_ScheduleParentUrl"] = UrlReferrer;
            }
            if (ViewData["T_ScheduleParentUrl"] == null && Request.UrlReferrer != null && !Request.UrlReferrer.AbsolutePath.EndsWith("/T_Schedule"))
            {
                ViewData["T_ScheduleParentUrl"] = Request.UrlReferrer;
            }
            LoadViewDataBeforeOnEdit(t_schedule);
            ViewBag.T_ScheduleIsHiddenRule = checkHidden("T_Schedule", "OnEdit");
            return(View(t_schedule));
        }
        public ActionResult CreateWizard([Bind(Include = "Id,ConcurrencyKey,T_Name,T_Description,T_AssociatedScheduleTypeID,T_StartDateTime,T_AssociatedRecurringScheduleDetailsTypeID,T_RecurringRepeatFrequencyID,T_RepeatByID,T_RecurringTaskEndTypeID,T_EndDate,T_OccurrenceLimitCount,T_Summary,SelectedT_RecurrenceDays_T_RepeatOn,T_StartTime,T_EndTime,T_EntityName")] T_Schedule t_schedule, string UrlReferrer)
        {
            CheckBeforeSave(t_schedule);
            if (ModelState.IsValid)
            {
                db.T_Schedules.Add(t_schedule);
                db.SaveChanges();

                if (t_schedule.SelectedT_RecurrenceDays_T_RepeatOn != null)
                {
                    foreach (var pgs in t_schedule.SelectedT_RecurrenceDays_T_RepeatOn)
                    {
                        T_RepeatOn objT_RepeatOn = new T_RepeatOn();
                        objT_RepeatOn.T_ScheduleID       = t_schedule.Id;
                        objT_RepeatOn.T_RecurrenceDaysID = pgs;
                        db.T_RepeatOns.Add(objT_RepeatOn);
                    }
                    db.SaveChanges();
                }

                if (!string.IsNullOrEmpty(UrlReferrer))
                {
                    return(Redirect(UrlReferrer));
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            t_schedule.T_RecurrenceDays_T_RepeatOn = db.T_RecurrenceDayss.OrderBy(x => x.DisplayValue).ToList();

            LoadViewDataAfterOnCreate(t_schedule);
            return(View(t_schedule));
        }
        public ActionResult Details(int?id, string HostingEntityName, string AssociatedType)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            T_Schedule t_schedule = db.T_Schedules.Find(id);

            if (t_schedule == null)
            {
                return(HttpNotFound());
            }
            t_schedule.T_RecurrenceDays_T_RepeatOn         = db.T_RecurrenceDayss.OrderBy(x => x.DisplayValue).ToList();
            t_schedule.SelectedT_RecurrenceDays_T_RepeatOn = db.T_RepeatOns.Where(a => a.T_ScheduleID == t_schedule.Id).Select(p => p.T_RecurrenceDaysID).ToList();
            GetTemplatesForDetails();
            ViewData["AssociatedType"]    = AssociatedType;
            ViewData["HostingEntityName"] = HostingEntityName;
            LoadViewDataBeforeOnEdit(t_schedule);
            if (!string.IsNullOrEmpty(AssociatedType))
            {
                LoadViewDataForCount(t_schedule, AssociatedType);
            }
            ViewBag.T_ScheduleIsHiddenRule = checkHidden("T_Schedule", "OnDetails");
            return(View(ViewBag.TemplatesName, t_schedule));
        }
Exemple #8
0
        public void AfterSave(T_Schedule t_schedule)     //mahesh
        {
            if (t_schedule.SelectedT_RecurrenceDays_T_RepeatOn == null && t_schedule.T_RepeatOn_t_schedule.Count() > 0)
            {
                return;
            }
            bool flagT_RepeatOn       = false;
            ApplicationContext tempdb = new ApplicationContext(new SystemUser());

            foreach (var obj in tempdb.T_RepeatOns.Where(a => a.T_ScheduleID == t_schedule.Id))
            {
                tempdb.T_RepeatOns.Remove(obj);
                flagT_RepeatOn = true;
            }
            if (flagT_RepeatOn)
            {
                tempdb.SaveChanges();
            }
            if (t_schedule.SelectedT_RecurrenceDays_T_RepeatOn != null)
            {
                foreach (var pgs in t_schedule.SelectedT_RecurrenceDays_T_RepeatOn)
                {
                    T_RepeatOn objT_RepeatOn = new T_RepeatOn();
                    objT_RepeatOn.T_ScheduleID       = t_schedule.Id;
                    objT_RepeatOn.T_RecurrenceDaysID = pgs;
                    tempdb.T_RepeatOns.Add(objT_RepeatOn);
                }
                tempdb.SaveChanges();
            }
        }
Exemple #9
0
 public static void AddTrip(string trip_name, int trip_price,
                            string customer_name, int trip_days,
                            string trip_date, string custom_require,
                            string remark, int customer_count)
 {
     using (var db = new TravelEntities())
     {
         T_Schedule schedule = new T_Schedule
         {
             ScheduleName  = trip_name,
             Fee           = trip_price,
             CustomerName  = customer_name,
             CustomRequire = custom_require,
             CustomerCount = customer_count,
             Days          = trip_days,
             VisitDate     = (trip_date == null || trip_date.Equals(string.Empty))?DateTime.Today: Convert.ToDateTime(trip_date),
             Remark        = remark,
             AgentID       = Convert.ToInt16(HttpContext.Current.Session["UserId"]),
             Status        = SystemConst.TRIP_STATUS_NEW
         };
         db.T_Schedule.Add(schedule);
         db.SaveChanges();
         int tripID = schedule.ScheduleID;
         for (int i = 1; i <= trip_days; i++)
         {
             AddEmptyDay(db, tripID, i);
             db.SaveChanges();
         }
     }
 }
 public ActionResult EditWizard([Bind(Include = "Id,ConcurrencyKey,T_Name,T_Description,T_AssociatedScheduleTypeID,T_StartDateTime,T_AssociatedRecurringScheduleDetailsTypeID,T_RecurringRepeatFrequencyID,T_RepeatByID,T_RecurringTaskEndTypeID,T_EndDate,T_OccurrenceLimitCount,T_Summary,SelectedT_RecurrenceDays_T_RepeatOn,T_StartTime,T_EndTime,T_EntityName")] T_Schedule t_schedule, string UrlReferrer)
 {
     CheckBeforeSave(t_schedule);
     if (ModelState.IsValid)
     {
         db.Entry(t_schedule).State = EntityState.Modified;
         db.SaveChanges();
         bool flagT_RepeatOn = false;
         var  obj_repeatons  = db.T_RepeatOns.Where(a => a.T_ScheduleID == t_schedule.Id);
         foreach (var obj in obj_repeatons)
         {
             db.T_RepeatOns.Remove(obj);
             flagT_RepeatOn = true;
         }
         if (flagT_RepeatOn)
         {
             db.SaveChanges();
         }
         if (t_schedule.SelectedT_RecurrenceDays_T_RepeatOn != null)
         {
             foreach (var pgs in t_schedule.SelectedT_RecurrenceDays_T_RepeatOn)
             {
                 T_RepeatOn objT_RepeatOn = new T_RepeatOn();
                 objT_RepeatOn.T_ScheduleID       = t_schedule.Id;
                 objT_RepeatOn.T_RecurrenceDaysID = pgs;
                 db.T_RepeatOns.Add(objT_RepeatOn);
             }
             db.SaveChanges();
         }
         if (!string.IsNullOrEmpty(UrlReferrer))
         {
             var uri   = new Uri(UrlReferrer);
             var query = HttpUtility.ParseQueryString(uri.Query);
             if (Convert.ToBoolean(query.Get("IsFilter")) == true)
             {
                 return(RedirectToAction("Index"));
             }
             else
             {
                 return(Redirect(UrlReferrer));
             }
         }
         else
         {
             return(RedirectToAction("Index"));
         }
     }
     t_schedule.T_RecurrenceDays_T_RepeatOn         = db.T_RecurrenceDayss.ToList();
     t_schedule.SelectedT_RecurrenceDays_T_RepeatOn = db.T_RepeatOns.Where(a => a.T_ScheduleID == t_schedule.Id).Select(p => p.T_RecurrenceDaysID).ToList();
     LoadViewDataAfterOnEdit(t_schedule);
     return(View(t_schedule));
 }
        public ActionResult EditQuick([Bind(Include = "Id,ConcurrencyKey,T_Name,T_Description,T_AssociatedScheduleTypeID,T_StartDateTime,T_AssociatedRecurringScheduleDetailsTypeID,T_RecurringRepeatFrequencyID,T_RepeatByID,T_RecurringTaskEndTypeID,T_EndDate,T_OccurrenceLimitCount,T_Summary,SelectedT_RecurrenceDays_T_RepeatOn,T_StartTime,T_EndTime,T_EntityName")] T_Schedule t_schedule, string UrlReferrer, bool?IsAddPop, string AssociatedEntity)
        {
            CheckBeforeSave(t_schedule);
            if (ModelState.IsValid)
            {
                string command = Request.Form["hdncommand"];
                db.Entry(t_schedule).State = EntityState.Modified;
                db.SaveChanges();
                bool flagT_RepeatOn = false;
                var  obj_repeatons  = db.T_RepeatOns.Where(a => a.T_ScheduleID == t_schedule.Id);
                foreach (var obj in obj_repeatons)
                {
                    db.T_RepeatOns.Remove(obj);
                    flagT_RepeatOn = true;
                }
                if (flagT_RepeatOn)
                {
                    db.SaveChanges();
                }
                if (t_schedule.SelectedT_RecurrenceDays_T_RepeatOn != null)
                {
                    foreach (var pgs in t_schedule.SelectedT_RecurrenceDays_T_RepeatOn)
                    {
                        T_RepeatOn objT_RepeatOn = new T_RepeatOn();
                        objT_RepeatOn.T_ScheduleID       = t_schedule.Id;
                        objT_RepeatOn.T_RecurrenceDaysID = pgs;
                        db.T_RepeatOns.Add(objT_RepeatOn);
                    }
                    db.SaveChanges();
                }

                return(Json(UrlReferrer, "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet));
            }
            else
            {
                var errors = "";
                foreach (ModelState modelState in ViewData.ModelState.Values)
                {
                    foreach (ModelError error in modelState.Errors)
                    {
                        errors += error.ErrorMessage + ".  ";
                    }
                }
                return(Json(errors, "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet));
            }

            LoadViewDataAfterOnEdit(t_schedule);
            return(View(t_schedule));
        }
        public ActionResult Create([Bind(Include = "Id,ConcurrencyKey,T_Name,T_Description,T_AssociatedScheduleTypeID,T_StartDateTime,T_AssociatedRecurringScheduleDetailsTypeID,T_RecurringRepeatFrequencyID,T_RepeatByID,T_RecurringTaskEndTypeID,T_EndDate,T_OccurrenceLimitCount,T_Summary,SelectedT_RecurrenceDays_T_RepeatOn,T_StartTime,T_EndTime,T_EntityName")] T_Schedule t_schedule, string UrlReferrer, bool?IsDDAdd)
        {
            CheckBeforeSave(t_schedule);
            if (ModelState.IsValid)
            {
                string command = Request.Form["hdncommand"];
                db.T_Schedules.Add(t_schedule);
                db.SaveChanges();
                //bool flagT_RepeatOn = false;
                //foreach (var obj in db.T_RepeatOns.Where(a => a.T_ScheduleID == t_schedule.Id))
                //{
                //    db.T_RepeatOns.Remove(obj);
                //    flagT_RepeatOn = true;
                //}
                //if (flagT_RepeatOn)
                //    db.SaveChanges();
                //if (t_schedule.SelectedT_RecurrenceDays_T_RepeatOn != null)
                //{
                //    foreach (var pgs in t_schedule.SelectedT_RecurrenceDays_T_RepeatOn)
                //    {
                //        T_RepeatOn objT_RepeatOn = new T_RepeatOn();
                //        objT_RepeatOn.T_ScheduleID = t_schedule.Id;
                //        objT_RepeatOn.T_RecurrenceDaysID = pgs;
                //        db.T_RepeatOns.Add(objT_RepeatOn);
                //    }
                //    db.SaveChanges();
                //}
                if (command == "Create & Continue")
                {
                    return(RedirectToAction("Edit", new { Id = t_schedule.Id, UrlReferrer = UrlReferrer }));
                }
                if (!string.IsNullOrEmpty(UrlReferrer))
                {
                    return(Redirect(UrlReferrer));
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            t_schedule.T_RecurrenceDays_T_RepeatOn = db.T_RecurrenceDayss.OrderBy(x => x.DisplayValue).ToList();

            if (IsDDAdd != null)
            {
                ViewBag.IsDDAdd = Convert.ToBoolean(IsDDAdd);
            }
            LoadViewDataAfterOnCreate(t_schedule);
            return(View(t_schedule));
        }
 public ActionResult DeleteBulk(long[] ids, string UrlReferrer)
 {
     foreach (var id in ids.Where(p => p > 0))
     {
         T_Schedule t_schedule = db.T_Schedules.Find(id);
         db.Entry(t_schedule).State = EntityState.Deleted;
         db.T_Schedules.Remove(t_schedule);
         try
         {
             db.SaveChanges();
         }
         catch { }
     }
     return(Json("Success", "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet));
 }
        public ActionResult Delete(int id)
        {
            if (!User.CanDelete("T_Schedule"))
            {
                return(RedirectToAction("Index", "Error"));
            }
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            T_Schedule t_schedule = db.T_Schedules.Find(id);

            if (t_schedule == null)
            {
                throw (new Exception("Deleted"));
            }
            if (ViewData["T_ScheduleParentUrl"] == null && Request.UrlReferrer != null && !Request.UrlReferrer.AbsolutePath.EndsWith("/T_Schedule"))
            {
                ViewData["T_ScheduleParentUrl"] = Request.UrlReferrer;
            }
            return(View(t_schedule));
        }
Exemple #15
0
        public static TripViewModel GetShareSchedule(int?tripID)
        {
            using (var db = new TravelEntities())
            {
                TripViewModel trip     = new TripViewModel();
                T_Schedule    schedule = db.T_Schedule.Where(a => a.ScheduleID == tripID).FirstOrDefault();
                trip.CustomerName  = schedule.CustomerName;
                trip.VisitDate     = schedule.VisitDate;
                trip.ScheduleName  = schedule.ScheduleName;
                trip.CustomRequire = schedule.CustomRequire;
                trip.Fee           = schedule.Fee;
                trip.CustomerCount = schedule.CustomerCount;
                trip.Remark        = schedule.Remark;

                List <T_ScheduleDetail> details = db.T_ScheduleDetail.Where(a => a.ScheduleID == tripID).ToList();
                List <int> projectIDs           = new List <int>();
                List <int> hotelIDs             = new List <int>();
                foreach (T_ScheduleDetail detail in details)
                {
                    if (detail.ProjectList == null || detail.ProjectList.Equals(string.Empty))
                    {
                        continue;
                    }
                    List <DetailProject> detailProjects = Common.AppUtils.JsonDeserialize <List <DetailProject> >(detail.ProjectList);
                    foreach (DetailProject detailProject in detailProjects)
                    {
                        if (detailProject.TypeID == WebConst.HOTEL_TYPE)
                        {
                            if (!hotelIDs.Contains(detailProject.ProjectID))
                            {
                                hotelIDs.Add(detailProject.ProjectID);
                            }
                        }
                        else
                        {
                            if (!projectIDs.Contains(detailProject.ProjectID))
                            {
                                projectIDs.Add(detailProject.ProjectID);
                            }
                        }
                    }
                }
                //筛选所有在列表中的项目
                List <ServiceDetailViewModel> projectDetail = (from service in db.T_TravelProjects
                                                               where projectIDs.Contains(service.ProjectID)
                                                               select new ServiceDetailViewModel
                {
                    ServiceID = service.ProjectID,
                    ServiceName = service.ProjectName,
                    CoverPic = service.CoverPic,
                    Description = service.Description,
                }).ToList();
                List <ServiceDetailViewModel> hotelDetail = (from hotel in db.T_LiveProjects
                                                             where hotelIDs.Contains(hotel.HouseID)
                                                             select new ServiceDetailViewModel
                {
                    ServiceID = hotel.HouseID,
                    ServiceName = hotel.HouseName,
                    CoverPic = hotel.CoverPic,
                    Description = hotel.Description,
                    Pics = hotel.Pics,
                }).ToList();
                List <ServiceDetailViewModel> serviceDetail = new List <ServiceDetailViewModel>();
                serviceDetail.AddRange(projectDetail);
                serviceDetail.AddRange(hotelDetail);
                //组织一个列表seq、desc、List<Project>
                List <TripDetailViewModel> tripDetails = new List <TripDetailViewModel>();
                foreach (T_ScheduleDetail detail in details)
                {
                    TripDetailViewModel tripDetail = new TripDetailViewModel
                    {
                        Seq         = detail.Seq,
                        Description = detail.Description
                    };
                    if (detail.ProjectList != null && !detail.ProjectList.Equals(string.Empty))
                    {
                        List <DetailProject>          detailProjects = Common.AppUtils.JsonDeserialize <List <DetailProject> >(detail.ProjectList);
                        List <ServiceDetailViewModel> dayServices    = new List <ServiceDetailViewModel>();
                        foreach (DetailProject detailProject in detailProjects)
                        {
                            ServiceDetailViewModel service         = serviceDetail.Where(a => a.ServiceID == detailProject.ProjectID).FirstOrDefault();
                            ServiceDetailViewModel display_service = new ServiceDetailViewModel
                            {
                                Start       = detailProject.Start,
                                End         = detailProject.End,
                                ServiceName = service.ServiceName,
                                Description = service.Description,
                                CoverPic    = service.CoverPic,
                                Pics        = service.Pics
                            };
                            dayServices.Add(display_service);
                        }
                        tripDetail.Services = dayServices;
                    }
                    else
                    {
                        tripDetail.Services = new List <ServiceDetailViewModel>();
                    }
                    tripDetails.Add(tripDetail);
                }

                trip.ScheduleDetail = tripDetails;
                return(trip);
            }
        }