Exemple #1
0
        public void Update(EditCourseVM model)
        {
            var newDetail   = model.OrderDetail;
            var order       = OrderService.GetCurrentOrder();
            var orderDetail = order.OrderDetails
                              .First(od => od.OrderDetailID == newDetail.OrderDetailID);

            if (model.IsTrackCourse)
            {
                UpdateTrackGroup(newDetail, orderDetail);
            }
            else if (orderDetail.Track_TC != null)
            {
                UpdateTrackPrices(order, orderDetail.Track_TC, model.PriceTypeTC,
                                  newDetail, model.CityTC);
            }
            else
            {
                UpdateCourse(model, newDetail, orderDetail);
            }
            orderDetail.ClearDiscount();
            orderDetail.SeatNumber = null;
            var extrases             = ExtrasService.GetFor(orderDetail).Select(x => x.Extras_ID);
            var notAvailableExtrases = orderDetail.OrderExtras.Where(
                od => !extrases.Contains(od.Extras_ID)).ToList();

            for (int i = 0; i < notAvailableExtrases.Count; i++)
            {
                var notAvailable = notAvailableExtrases[i];
                orderDetail.OrderExtras.Remove(notAvailable);
            }

            OrderService.SubmitChanges();
        }
Exemple #2
0
        public static List <SelectListItem> GetAllGroups(this EditCourseVM model,
                                                         string cityTC)
        {
            var result = new List <SelectListItem>();

            result.Add(new SelectGroupItem
            {
                Text  = "”точнить дату позже",
                Value = ((int)Groups.NotChoiceGroupID).ToString()
            });
            foreach (var group in model.GetGroups(cityTC))
            {
                result.Add(new SelectGroupItem
                {
                    Selected = group.Group_ID == model.OrderDetail.Group_ID,
                    Text     =
                        (group.DateBeg)
                        .NotNullToString("dd.MM.yyyy") + " " +
                        group.DayShift.Name + " " +
                        group.Complex.Name,
                    Value    = group.Group_ID.ToString(),
                    DayShift = group.DayShift_TC
                });
            }
            return(result);
        }
        public async Task <IActionResult> Edit(long id, EditCourseVM editCourseViewModel)
        {
            if (id != editCourseViewModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    Course course = _mapper.Map <Course>(editCourseViewModel);
                    _unitOfWork.Courses.Update(course);
                    await _unitOfWork.SaveAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!_unitOfWork.Courses.IsExist(editCourseViewModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(List)));
            }
            return(View(editCourseViewModel));
        }
Exemple #4
0
 public ActionResult EditCourse(EditCourseVM model)
 {
     if (model.PriceTypeTC == null)
     {
         model.PriceTypeTC = string.Empty;
     }
     EditCourseVMService.Update(model);
     return(RedirectToDetails());
 }
Exemple #5
0
        public static List <SelectListItem> GetAllCity(this EditCourseVM model)
        {
            return(SelectListUtil.GetSelectItemList(model.Cities,
                                                    x => x.CityName,
                                                    x => x.City_TC));

            /* .AddItem(new SelectListItem
             * {
             *   Text = "ƒистанционное обучение",
             *   Value = Cities.Distance,
             * });*/
        }
        public async Task <IActionResult> EditCourse(EditCourseVM model)
        {
            try
            {
                var course = _coursesRepository.FindById(model.Id);

                if (!ModelState.IsValid)
                {
                    var facilitators = await _userManager.GetUsersInRoleAsync("Facilitator");

                    var selectFacilitators = facilitators.Select(p => new SelectListItem
                    {
                        Text  = $"{p.FirstName} {p.MiddleName} {p.LastName}",
                        Value = p.Id
                    });
                    model = new EditCourseVM
                    {
                        Id           = course.Id,
                        CourseName   = course.CourseName,
                        Facilitators = selectFacilitators
                    };
                    model.Facilitators = selectFacilitators;
                    ModelState.AddModelError("", "Please fill all the required fields correctly");
                    return(View(model));
                }
                if (model.FacilitatorId != null)
                {
                    course.FacilitatorId = model.FacilitatorId;
                }
                else
                {
                    course.FacilitatorId = null;
                }

                course.CourseName = model.CourseName;
                var isSuccess = _coursesRepository.Update(course);
                if (!isSuccess)
                {
                    ModelState.AddModelError("", "An error occured while updating the course");
                    return(View(model));
                }
                return(RedirectToAction("CourseList"));
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", $"An error occured: {e}");
                return(View(model));
            }
        }
Exemple #7
0
        public IHttpActionResult Edit(EditCourseVM course)
        {
            Course c = new CoursesRepository().Course(course.ID) as Course;

            if (c == null)
            {
                return(BadRequest("Course id didn't match"));
            }
            c = new Course {
                ID = course.ID, SubjectID = course.SubjectID, TeacherID = course.TeacherID
            };
            bool edited = new CoursesRepository().Edit(c);

            if (!edited)
            {
                return(BadRequest("Course couldn't be edited"));
            }
            return(Ok(c));
        }
        public IActionResult Edit(EditCourseVM course)
        {
            if (ModelState.IsValid)
            {
                var teacherF = TeacherRepo.FindTeacher(course.TeacherId);

                var courseToUpdate = new Course
                {
                    Name        = course.Name,
                    Description = course.Description,
                    Teacher     = teacherF,
                    Id          = course.CourseId
                };
                CourseRepo.UpdateCourse(courseToUpdate);
                return(RedirectToAction(nameof(Index)));
            }

            course.Teachers = TeacherRepo.GetAll();
            return(View(course));
        }
        // This method returns the get view for creating courses
        public async Task <IActionResult> EditCourse(int id)
        {
            var course       = _coursesRepository.FindById(id);
            var facilitators = await _userManager.GetUsersInRoleAsync("Facilitator");

            var selectFacilitators = facilitators.Select(p => new SelectListItem
            {
                Text  = $"{p.FirstName} {p.MiddleName} {p.LastName}",
                Value = p.Id
            });

            var model = new EditCourseVM
            {
                Id           = course.Id,
                CourseName   = course.CourseName,
                Facilitators = selectFacilitators
            };

            return(View(model));
        }
        public IActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var course = CourseRepo.FindCourse((int)id);

            if (course == null)
            {
                return(NotFound());
            }

            EditCourseVM name = new EditCourseVM
            {
                CourseId    = course.Id,
                Name        = course.Name,
                Description = course.Description,
                Teachers    = TeacherRepo.GetAll(),
            };

            return(View(name));
        }
 public EditCourse(string userid, string courseid, string coursename, string coursecode)
 {
     InitializeComponent();
     BindingContext = vm = new EditCourseVM(userid, courseid, coursename, coursecode);
 }
Exemple #12
0
        private void UpdateCourse(EditCourseVM model, OrderDetail newDetail,
                                  OrderDetail orderDetail)
        {
            if (orderDetail.Order.IsOrganization && newDetail.Count > 0)
            {
                orderDetail.Count = newDetail.Count;
            }
            orderDetail.OrgStudents = newDetail.OrgStudents;

            var prices = PriceService.GetAllPricesForCourse(orderDetail.Course_TC,
                                                            orderDetail.Track_TC).AsQueryable();

            string resultPriceTypeTC = null;

            if (!model.CityTC.IsEmpty())
            {
                orderDetail.City_TC = model.CityTC;
            }
            if (PriceTypes.IsDistance(model.PriceTypeTC))
            {
                resultPriceTypeTC    = model.PriceTypeTC;
                orderDetail.Group_ID = null;
            }
            if (PriceTypes.IsIndividual(model.PriceTypeTC))
            {
                resultPriceTypeTC    = model.PriceTypeTC;
                orderDetail.Group_ID = null;
            }
            if (model.PriceTypeTC == string.Empty)
            {
                orderDetail.Group_ID = newDetail.Group_ID;
                if (orderDetail.Group_ID.HasValue)
                {
                    var group = GroupService.GetByPK(newDetail.Group_ID);
                    resultPriceTypeTC = OrderService.GetPriceTypeForGroup(group,
                                                                          model.IsBusiness, orderDetail.Order.CustomerType);
                }
                else
                {
                    var groupPrices   = prices.Where(p => !p.IsDistance && !p.IsIndividual).AsQueryable();
                    var maxGroupPrice = groupPrices.GetDefault();
                    if (maxGroupPrice != null)
                    {
                        resultPriceTypeTC = maxGroupPrice.PriceType_TC;
                    }
                }
            }

            if (PriceTypes.Webinars.Contains(model.PriceTypeTC))
            {
                resultPriceTypeTC    = model.PriceTypeTC;
                orderDetail.Group_ID = newDetail.Group_ID;
            }


            if (resultPriceTypeTC != null)
            {
                orderDetail.PriceType_TC = resultPriceTypeTC;
                orderDetail.Price        = prices.First(p => p.PriceType_TC == resultPriceTypeTC)
                                           .Price;
            }
            else
            {
                var defaultPrice = prices.GetDefault();
                orderDetail.PriceType_TC = defaultPrice.PriceType_TC;
                orderDetail.Price        = defaultPrice.Price;
            }
        }
Exemple #13
0
        private EditCourseVM GetCourseVM(OrderDetail orderDetail, bool isTrackCourse)
        {
            var courseTC = orderDetail.Track_TC ?? orderDetail.Course_TC;
            var prices   = PriceService.GetAllPricesForCourseFilterByCustomerTye(
                courseTC, orderDetail.Order.CustomerType, null);
            var cityTC = Cities.Moscow;

            if (orderDetail.Group != null)
            {
                cityTC = orderDetail.Group.BranchOffice.TrueCity_TC;
            }
            else if (orderDetail.City_TC != null)
            {
                cityTC = orderDetail.City_TC;
            }
            var editCourseVM = new EditCourseVM(CityService.GetPrefixList())
            {
                Cities =
                    FilterCityByPrices(CityService
                                       .GetAll().ToList(), prices.ToList()),
                CityTC = cityTC,

                /*PriceListTypes.GetCityTC(orderDetail.PriceType.PriceListType_TC)
                 *  ?? Cities.Moscow*/
                OrderDetail = orderDetail,
                Prices      = prices.OrderBy(p => p.Price).ToList()
            };

            if (PriceTypes.IsDistanceOrWebinar(orderDetail.PriceType_TC))
            {
                editCourseVM.CityTC = Cities.Moscow;
            }
            if (orderDetail.Track_TC == null)
            {
                var groups = GroupService
                             .GetGroupsForCourse(courseTC)
                             .ToList();
                var webinarOnlyGroups = GroupService.WebinarOnly().Where(x => x.Course_TC == courseTC).ToList();
                groups.AddRange(webinarOnlyGroups);
                editCourseVM.Groups = groups.OrderBy(g => g.DateBeg).ToList();
            }
            else if (isTrackCourse)
            {
                editCourseVM.Groups = GroupService
                                      .GetGroupsForCourseByPriceType(orderDetail.Course_TC,
                                                                     orderDetail.PriceType_TC, orderDetail.City_TC)
                                      .OrderBy(g => g.DateBeg).ToList();
            }
            else
            {
                editCourseVM.Groups = new List <Group>();
            }
            editCourseVM.IsBusiness = PriceTypes.IsBusiness(orderDetail.PriceType_TC);
            if (PriceTypes.IsDistanceOrWebinar(orderDetail.PriceType_TC))
            {
                editCourseVM.PriceTypeTC = PriceTypes.Webinar;
            }
            if (orderDetail.Group.GetOrDefault(x => x.IsIntraExtramural))
            {
                editCourseVM.PriceTypeTC = PriceTypes.IntraExtra;
            }
            if (PriceTypes.IsIndividual(orderDetail.PriceType_TC))
            {
                editCourseVM.PriceTypeTC = PriceTypes.Individual;
            }
            if (editCourseVM.PriceTypeTC == null)
            {
                editCourseVM.PriceTypeTC = string.Empty;
            }

            return(editCourseVM);
        }