예제 #1
0
        public ActionResult Edit(ScheduleDetails scheduleDetails)
        {
            AddScheduleViewModel asvm = new AddScheduleViewModel
            {
                Locations = _context.Location
                            .DistinctBy(l => l.Origin)
                            .ToList()
            };

            if (!ModelState.IsValid)
            {
                ViewBag.IsSuccess = false;
                ViewBag.Message   = "Schedule Update Failed.";

                return(View("AddSchedule", asvm));
            }

            var update = _context.ScheduleDetails.Include(s => s.ShipDetails).SingleOrDefault(s => s.Id == scheduleDetails.Id);

            update.StartDate     = scheduleDetails.StartDate;
            update.EndDate       = scheduleDetails.EndDate;
            update.Origin        = scheduleDetails.Origin;
            update.Destination   = scheduleDetails.Destination;
            update.ShipDetailsId = scheduleDetails.ShipDetailsId;
            _context.SaveChanges();

            ViewBag.IsSuccess = true;
            ViewBag.Message   = "Schedule has been edited successfully.";
            ModelState.Clear();

            return(View("AddSchedule", asvm));
        }
예제 #2
0
 /// <summary>
 /// Validate the object.
 /// </summary>
 /// <exception cref="ValidationException">
 /// Thrown if validation fails
 /// </exception>
 public virtual void Validate()
 {
     if (Method == null)
     {
         throw new ValidationException(ValidationRules.CannotBeNull, "Method");
     }
     if (Id == null)
     {
         throw new ValidationException(ValidationRules.CannotBeNull, "Id");
     }
     if (Name == null)
     {
         throw new ValidationException(ValidationRules.CannotBeNull, "Name");
     }
     if (ScheduleDetails != null)
     {
         ScheduleDetails.Validate();
     }
     if (Plans != null)
     {
         foreach (var element in Plans)
         {
             if (element != null)
             {
                 element.Validate();
             }
         }
     }
 }
        public bool CheckRepeatDays(ScheduleDetails data, AddEditScheduleCommand model)
        {
            var      status1       = false;
            DateTime startDate     = model.StartDate;
            DateTime dataStartDate = data.StartDate;
            DateTime endDate       = model.EndDate;
            DateTime dataEndDate   = data.EndDate;

            if (startDate >= dataStartDate)
            {
                if (endDate >= dataStartDate)
                {
                    var istrueDays = model.RepeatDays.Where(d => d.status == true).ToList();
                    if (istrueDays.Count() == 0)
                    {
                        status1 = true;
                    }
                    else
                    {
                        foreach (var item in istrueDays)
                        {
                            switch (item.Value)
                            {
                            case "MON":
                                status1 = data.Monday == true ? false : true;
                                break;

                            case "TUE":
                                status1 = data.Tuesday == true ? false : true;
                                break;

                            case "WED":
                                status1 = data.Wednesday == true ? false : true;
                                break;

                            case "THU":
                                status1 = data.Thursday == true ? false : true;
                                break;

                            case "FRI":
                                status1 = data.Friday == true ? false : true;
                                break;

                            case "SAT":
                                status1 = data.Saturday == true ? false : true;
                                break;

                            case "SUN":
                                status1 = data.Sunday == true ? false : true;
                                break;
                            }
                        }
                    }
                }
            }
            return(status1);
        }
예제 #4
0
        public ScheduleDetails editTestsAndInterviewsScheduledBAL(ScheduleDetails testObject)
        {
            testObject.WrittenTestDate        = convertDate(testObject.WrittenTestDate);
            testObject.TechnicalInterviewDate = convertDate(testObject.TechnicalInterviewDate);
            testObject.HRInterviewDate        = convertDate(testObject.HRInterviewDate);
            TestandInterviewDAL objTestandInterviewDAL = new TestandInterviewDAL();

            testObject.TestID = objTestandInterviewDAL.getTestID(testObject.VacancyID);
            return(objTestandInterviewDAL.editTestsAndInterviewsScheduledDAL(testObject));
        }
예제 #5
0
        public void filterScheduledAppointments(DateTime startDate, DateTime endDate)
        {
            List <App_ScheduledAppointment> newList = App.Database.GetScheduledAppointments().Where(x => x.ScheduleDate >= startDate && x.ScheduleDate <= endDate).ToList();

            ScheduleDetails.Clear();
            foreach (var item in newList)
            {
                ScheduleDetails.Add(item);
            }
            OnPropertyChanged("ScheduleDetails");
        }
예제 #6
0
 // GET: Appointment
 public ActionResult BookAppointment(int?id)
 {
     if (id != null)
     {
         ScheduleDetails sd           = new ScheduleDetails();
         var             ScheduleData = db.Schedules.Where(s => s.ID == id).FirstOrDefault();
         var             DoctorData   = db.Doctors.Where(d => d.ID == ScheduleData.DoctorID).FirstOrDefault();
         sd.schedule = ScheduleData;
         sd.doctor   = DoctorData;
         return(View(sd));
     }
     return(View());
 }
예제 #7
0
        public void IsTerminatedIsTrueWhenIsACancelRecord()
        {
            var cancel = new ScheduleDetails()
            {
                TimetableUid = "A12345",
                RunsFrom     = new DateTime(2019, 1, 2),
                StpIndicator = StpIndicator.C,
                Action       = RecordAction.Create
            };
            var schedule = new Schedule();

            schedule.Add(cancel);

            Assert.True(schedule.IsTerminated);
        }
예제 #8
0
        public void IsTerminatedIsTrueWhenIsADeleteRecord()
        {
            var delete = new ScheduleDetails()
            {
                TimetableUid = "A12345",
                RunsFrom     = new DateTime(2019, 1, 2),
                StpIndicator = StpIndicator.P,
                Action       = RecordAction.Delete
            };
            var schedule = new Schedule();

            schedule.Add(delete);

            Assert.True(schedule.IsTerminated);
        }
예제 #9
0
        internal long Add(ScheduleId id, ScheduleDetails details, ScheduleExtraData extra)
        {
            bool isCancelOrDelete = details.StpIndicator == StpIndicator.C ||
                                    details.Action == RecordAction.Delete;
            var databaseId = GetNewId();

            var row = Table.NewRow();

            row["Id"]                 = databaseId;
            row["Action"]             = MapAction(details.Action, _logger);
            row["StpIndicator"]       = details.StpIndicator.ToString();
            row["TimetableUid"]       = details.TimetableUid;
            row["RunsFrom"]           = details.RunsFrom;
            row["RunsTo"]             = (object)details.RunsTo ?? DBNull.Value;
            row["DayMask"]            = DayMaskConverter.Convert(details.DayMask);
            row["BankHolidayRunning"] =
                DayMaskConverter.ConvertBankHoliday(details.BankHolidayRunning, isCancelOrDelete);
            row["Status"]                   = SetNullIfEmpty(details.Status);
            row["Category"]                 = SetNullIfEmpty(details.Category);
            row["TrainIdentity"]            = SetNullIfEmpty(details.TrainIdentity);
            row["NrsHeadCode"]              = SetNullIfEmpty(details.HeadCode);
            row["ServiceCode"]              = SetNullIfEmpty(details.ServiceCode);
            row["PortionId"]                = SetNullIfEmpty(details.PortionId);
            row["PowerType"]                = SetNullIfEmpty(details.PowerType);
            row["TimingLoadType"]           = SetNullIfEmpty(details.TimingLoadType);
            row["Speed"]                    = SetNullIfEmpty(details.Speed);
            row["OperatingCharacteristics"] = SetNullIfEmpty(details.OperatingCharacteristics);
            row["SeatClass"]                = ConvertAccommodationClass(details.SeatClass, isCancelOrDelete);
            row["SleeperClass"]             = ConvertAccommodationClass(details.SleeperClass, isCancelOrDelete);
            row["ReservationIndicator"]     = ConvertReservationIndicator(details.ReservationIndicator, isCancelOrDelete);
            row["Catering"]                 = SetNullIfEmpty(details.Catering);
            row["Branding"]                 = SetNullIfEmpty(details.Branding);

            // Extra data from BX record
            if (extra != null)
            {
                GetNewId();    //Skip an Id to keep it synced with record in file
                row["EuropeanUic"]         = SetNullIfEmpty(extra.UIC);
                row["Toc"]                 = SetNullIfEmpty(extra.Toc);
                row["ApplicableTimetable"] = extra.ApplicableTimetableCode == "Y" ? 1 : 0;
                row["RetailServiceId"]     = SetNullIfEmpty(extra.RetailServiceId);
            }

            Table.Rows.Add(row);
            return(databaseId);
        }
예제 #10
0
        public void filterByTicketNumber(string ticketNumber)
        {
            try
            {
                List <App_ScheduledAppointment> newList = App.Database.GetScheduledAppointments().Where(x => x.ServiceTicketNumber.Contains(ticketNumber)).ToList();
                ScheduleDetails.Clear();
                foreach (var item in newList)
                {
                    ScheduleDetails.Add(item);
                }
            }
            catch (Exception ex)
            {
                ErrorReporting errorReporting = new ErrorReporting();
                errorReporting.sendException(ex, "TechDashboard.SchedulePageViewModel.filterByTicketNumber");
            }

            OnPropertyChanged("ScheduleDetails");
        }
예제 #11
0
        public ScheduleDetails createTestandInterviewBAL(ScheduleDetails testObject)
        {
            TestandInterviewDAL objectTestandInterviewDAL = new TestandInterviewDAL();

            testObject.WrittenTestDate        = convertDate(testObject.WrittenTestDate);
            testObject.TechnicalInterviewDate = convertDate(testObject.TechnicalInterviewDate);
            testObject.HRInterviewDate        = convertDate(testObject.HRInterviewDate);
            testObject.RecruitmentRequestID   = objectTestandInterviewDAL.getRecruitmentRequestID(testObject.VacancyID);
            if (testObject.RecruitmentRequestID == -1)
            {
                return(null);
            }
            else
            {
                objectTestandInterviewDAL.createTestandInterviewDAL(testObject);
                testObject = objectTestandInterviewDAL.getcreatedTestandInterviewDAL(testObject);
            }
            return(testObject);
        }
예제 #12
0
        public void filterScheduledAppointments(DateTime startDate, DateTime endDate)
        {
            // dch rkl 12/07/2016 catch exception
            try
            {
                List <App_ScheduledAppointment> newList = App.Database.GetScheduledAppointments().Where(x => x.ScheduleDate >= startDate && x.ScheduleDate <= endDate).ToList();
                ScheduleDetails.Clear();
                foreach (var item in newList)
                {
                    ScheduleDetails.Add(item);
                }
            }
            catch (Exception ex)
            {
                // dch rkl 12/07/2016 Log Error
                ErrorReporting errorReporting = new ErrorReporting();
                errorReporting.sendException(ex, "TechDashboard.SchedulePageViewModel.filterScheduledAppointments");
            }

            OnPropertyChanged("ScheduleDetails");
        }
예제 #13
0
        public ActionResult CreateSchedule([Bind(Exclude = "Id")] ScheduleDetails scheduleDetails)
        {
            AddScheduleViewModel asvm = new AddScheduleViewModel
            {
                Locations = _context.Location
                            .DistinctBy(l => l.Origin)
                            .ToList()
            };

            if (!ModelState.IsValid)
            {
                ViewBag.IsSuccess = false;
                ViewBag.Message   = "Schedule Create Failed.";

                return(View("AddSchedule", asvm));
            }

            _context.ScheduleDetails.Add(scheduleDetails);

            try
            {
                _context.SaveChanges();

                ViewBag.IsSuccess = true;
                ViewBag.Message   = "Schedule has been created successfully.";
                ModelState.Clear();
            }
            catch (Exception ex)
            {
                ViewBag.IsSuccess = false;
                ViewBag.Message   = "Create Failed.\nError: " + ex.Message;
                ModelState.Remove("StartDate");
                ModelState.Remove("EndDate");
            }

            return(View("AddSchedule", asvm));
        }
예제 #14
0
 public virtual void Add(ScheduleDetail sd)
 {
     ScheduleDetails.Add(sd);
     sd.Schedule = this;
 }
 public void HideNote()
 {
     ScheduleDetails.HideNote();
 }
예제 #16
0
        private void btnScheduleList_Click_1(object sender, EventArgs e)
        {
            ScheduleDetails scheduleDetails = new ScheduleDetails();

            scheduleDetails.ShowDialog(this);
        }
        public async Task <ApiResponse> SaveSchedule(AddEditScheduleCommand model, string userId)
        {
            long        LatestScheduleId = 0;
            var         scheduleCode     = string.Empty;
            ApiResponse response         = new ApiResponse();

            var scheduleDetail = _dbContext.ScheduleDetails.OrderByDescending(x => x.ScheduleId)
                                 .FirstOrDefault();

            if (scheduleDetail == null)
            {
                LatestScheduleId = 1;
                scheduleCode     = LatestScheduleId.ToString().getScheduleCode();
            }
            else
            {
                LatestScheduleId = Convert.ToInt32(scheduleDetail.ScheduleId) + 1;
                scheduleCode     = LatestScheduleId.ToString().getScheduleCode();
            }
            ScheduleDetails obj = _mapper.Map <AddEditScheduleCommand, ScheduleDetails>(model);

            obj.CreatedById = userId;
            if (model.ProjectId != null)
            {
                obj.ProjectId    = model.ProjectId ?? null;
                obj.ScheduleType = "Project";
            }
            if (model.PolicyId != null)
            {
                obj.PolicyId     = model.PolicyId ?? null;
                obj.ScheduleType = "Policy";
            }
            if (model.JobId != null)
            {
                obj.JobId        = model.JobId ?? null;
                obj.ScheduleType = "Job";
            }
            bool status = false;

            if (obj.JobId != null)
            {
                var jobDetails = _dbContext.JobDetails.AsQueryable().Where(x => x.JobId == obj.JobId && x.IsDeleted == false).FirstOrDefault();
                if (jobDetails.EndDate.Date <= DateTime.UtcNow.Date)
                {
                    status = true;
                }
            }
            if (status == true)
            {
                response.Message    = "End Date for job has already reached. No new schedule can be added";
                response.StatusCode = StaticResource.failStatusCode;
            }
            else
            {
                obj.StartTime    = TimeSpan.Parse(model.StartTime);
                obj.EndTime      = TimeSpan.Parse(model.EndTime);
                obj.ScheduleName = model.ScheduleName;
                obj.CreatedDate  = DateTime.Now;
                obj.IsDeleted    = false;
                obj.ScheduleCode = scheduleCode;
                obj.MediumId     = model.MediumId;
                obj.ChannelId    = model.ChannelId;
                obj.IsActive     = true;
                obj.Description  = model.Description;
                if (model.RepeatDays != null && model.RepeatDays.Count > 0)
                {
                    foreach (var items in model.RepeatDays)
                    {
                        switch (items.Value)
                        {
                        case "MON":
                            obj.Monday = items.status;
                            break;

                        case "TUE":
                            obj.Tuesday = items.status;
                            break;

                        case "WED":
                            obj.Wednesday = items.status;
                            break;

                        case "THU":
                            obj.Thursday = items.status;
                            break;

                        case "FRI":
                            obj.Friday = items.status;
                            break;

                        case "SAT":
                            obj.Saturday = items.status;
                            break;

                        case "SUN":
                            obj.Sunday = items.status;
                            break;
                        }
                    }
                }
                await _dbContext.ScheduleDetails.AddAsync(obj);

                await _dbContext.SaveChangesAsync();

                FilterSchedulerModel data = new FilterSchedulerModel();
                data.ChannelId = obj.ChannelId;
                data.MediumId  = obj.MediumId;
                data.StartDate = obj.StartDate;
                ApiResponse responseData = await FilterScheduleList(data);

                response.data.SchedulerList   = responseData.data.SchedulerList;
                response.data.scheduleDetails = obj;
                response.StatusCode           = StaticResource.successStatusCode;
            }

            return(response);
        }
 public void ShowNote()
 {
     ScheduleDetails.ShowNote();
 }