예제 #1
0
        private string GetMaxPriceType(Entities.Context.Order order,
                                       List <OrderDetail> newOrderDetails)
        {
            var orderDetailIDs = newOrderDetails.Select(od => od.OrderDetailID);
            var trackDetails   = order.OrderDetails.Where(od =>
                                                          orderDetailIDs.Contains(od.OrderDetailID));

            var prices = new List <PriceView>();

            foreach (var orderDetail in trackDetails)
            {
                orderDetail.Group_ID = newOrderDetails.FirstOrDefault(
                    od => od.OrderDetailID == orderDetail.OrderDetailID).Group_ID;
                if (orderDetail.Group_ID == null)
                {
                    continue;
                }

                var group = GroupService.GetPlannedAndNotBegin()
                            .ByPrimeryKey(orderDetail.Group_ID);
                var priceTypeTC = OrderService.GetPriceTypeForGroup(
                    group, false, order.CustomerType);
                var price = PriceService.GetAllPricesForCourse(orderDetail.Course_TC,
                                                               orderDetail.Track_TC).FirstOrDefault(p => p.PriceType_TC == priceTypeTC);
                if (price != null)
                {
                    prices.Add(price);
                }
            }
            return(prices.AsQueryable().SelectMax(p => p.Price).PriceType_TC);
        }
예제 #2
0
파일: MailService.cs 프로젝트: dKluev/Site
        public void SberMerchant(Entities.Context.Order order, string operation)
        {
            var operationName = SberOperationNames.GetValueOrDefault(operation) ?? operation;
            var body          = H.b[operationName] + Br +
                                H.b["Email: "] + order.User.Email + Br +
                                GetOrderDescription(order, true) + Br +
                                GetOrderCmsAnchor(order) + Br;

            SendSync(info, sberbankPayment, body, "[ПАО Сбербанк] {0} {1} {2}"
                     .FormatWith(operationName, order.User.FullName, order.CommonOrderId), ptolochko);
            if (!order.User.Email.IsEmpty())
            {
                body = H.b["Описание покупки: "] + order.GetDescription(false) + Br +
                       H.b["Стоимость покупки: "] + order.TotalPriceWithDescount.MoneyString() + " RUB" + Br +
                       H.b["Номер заказа: "] + order.CommonOrderId + Br +
                       H.b["Дата платежа: "] + DateTime.Now.DefaultString() + Br +
                       H.b["Результат: "] + operationName + Br + Br +
                       "Это письмо сгенерировано автоматически и не требует ответа.";
                try {
                    Send(info, new MailAddress(order.User.Email), body,
                         "Оплата заказа {0} на сайте www.specialist.ru".FormatWith(order.CommonOrderId));
                }
                catch (Exception ex) {
                    Logger.Exception(ex, "sber mail");
                }
            }
        }
예제 #3
0
        Entities.Context.Order ConvertToOrder(StudentInGroup sig)
        {
            if (sig == null)
            {
                return(null);
            }
            var email = sig.Student.StudentEmails.OrderByDescending(x => x.StudentEmail_ID).FirstOrDefault()
                        .GetOrDefault(x => x.Email.Trim());

            if (email.IsEmpty() || email.Contains(" ") || !email.Contains("@"))
            {
                email = null;
            }
            var orderDetails = new EntitySet <OrderDetail>();
            var orderExams   = new EntitySet <OrderExam>();

            GroupService.LoadWith(x => x.Course);
            var group = GroupService.GetByPK(sig.Group_ID);

            if (sig.Exam_ID > 0)
            {
                orderExams.Add(new OrderExam {
                    Exam_ID = sig.Exam_ID.Value
                });
            }
            else
            {
                orderDetails.Add(new OrderDetail {
                    Group = group, Course_TC = group.Course_TC, Course = group.Course, Track_TC = sig.Track_TC
                });
            }
            var order = new Entities.Context.Order {
                User = new User {
                    FirstName  = sig.Student.FirstName,
                    LastName   = sig.Student.LastName,
                    SecondName = sig.Student.MiddleName,
                    Email      = email
                },
                IsSig     = true,
                OrderID   = sig.StudentInGroup_ID,
                IsSigPaid = sig.BerthType_TC == BerthTypes.Paid,
                TotalPriceWithDescount = sig.PartialPayment > 0
                                        ? sig.PartialPayment.Value
                                        : sig.Charge.GetValueOrDefault(),
                OrderDetails = orderDetails,
                OrderExams   = orderExams,
                OurOrg_TC    = null,
                Description  = "Оплата спец заказа №" + sig.StudentInGroup_ID
            };
            var context = new PioneerDataContext();

//		    if (PriceService.DopUslCourses().Contains(group.Course_TC)) {
//			    order.OurOrg_TC = OurOrgs.Bt;
//		    }

            order.OurOrg_TC = context.fnGetDefaultOurOrgTC(sig.StudentInGroup_ID, null);
            return(order);
        }
예제 #4
0
파일: MailService.cs 프로젝트: dKluev/Site
 public void OrderInfoForManager(Entities.Context.Order order,
                                 string confirmInfo = null, bool notComplete = false)
 {
     try {
         var user      = order.User;
         var userInfo  = GetUserInfo(user);
         var socialUrl = order.SocialUrl;
         var body      = userInfo +
                         (order.PromoCode.IsEmpty() ? "" : "Промокод: ".Tag("strong") + order.PromoCode + Br) +
                         (socialUrl.IsEmpty() ? "" : "Ссылка на соц. сеть для скидки: ".Tag("strong") + socialUrl + Br) +
                         GetOrderDescription(order, true) + Br +
                         GetOrderCmsAnchor(order) + Br;
         var subject = string.Empty;
         if (notComplete)
         {
             subject = "[Незавершенный заказ] " + user.FullName;
         }
         else if (!confirmInfo.IsEmpty())
         {
             subject = "[Подтверждение оплаты] " + user.FullName;
             body   += OrderConfirmVM.ConfirmInfoName.Tag("strong") + Br +
                       confirmInfo;
         }
         else
         {
             subject = "[{0}][{1}][Заказ] {2}".FormatWith(order.PaymentType_TC,
                                                          order.OurOrgOrDefault, user.FullName);
         }
         if (!order.IsOrganization)
         {
             var managerTc = order.Manager_TC;
             var email     = GetEmployeeMail(managerTc);
             if (order.PaymentTypeIsSet && order.OrderDetails.Any(x => x.IsDopUsl))
             {
                 Send(info, siteOrders, body, subject, bt1c, email);
             }
             else if (order.OrderDetails.Any(x => x.IsTestCert))
             {
                 Send(info, siteOrders, body, subject, siteCertOrders, email);
             }
             else
             {
                 Send(info, siteOrders, body, subject, email);
             }
         }
         else
         {
             Send(info, secrko, body, subject);
             Send(info, corporatesiteorders, body, subject);
         }
     } catch (Exception e) {
         Logger.Exception(e, "orderId = " + order.OrderID);
         throw;
     }
 }
예제 #5
0
 private void AddSource(Entities.Context.Order order, StudentInGroup studentInGroup)
 {
     if (order.User.Source_ID.HasValue)
     {
         studentInGroup.StudentInGroupSources.Add(
             new StudentInGroupSource {
             Source_ID      = order.User.Source_ID.Value,
             InputDate      = DateTime.Now,
             Employee_TC    = Employees.Specweb,
             LastChangeDate = DateTime.Now,
             LastChanger_TC = Employees.Specweb
         });
     }
 }
예제 #6
0
파일: MailService.cs 프로젝트: dKluev/Site
        private string GetOrderDescription(Entities.Context.Order order, bool isFull = false)
        {
            var orderDescription = order.GetDescription(isFull) + Br;

            if (order.IsOrganization)
            {
                orderDescription +=
                    "Интернет счет: ".Tag("strong") + order.InvoiceNumber + Br;
            }

            orderDescription +=
                "Итого к оплате: ".Tag("strong")
                + order.TotalPriceWithDescount.MoneyString()
                + " руб. ";
            return(orderDescription);
        }
예제 #7
0
        private void UpdateTrackPrices(Entities.Context.Order order, string trackTC, string priceTypeTC, OrderDetail newDetail, string cityTC)
        {
            var    trackDetails = order.OrderDetails.Where(od => od.Track_TC == trackTC);
            string pricePrefix  = null;

            if (cityTC != null)
            {
                pricePrefix = PriceTypes.GetPrefix(CityService.GetCityPrefix(cityTC));
            }

            foreach (var orderDetail in trackDetails)
            {
                if (newDetail != null)
                {
                    if (order.IsOrganization && newDetail.Count > 0)
                    {
                        orderDetail.Count = newDetail.Count;
                    }
                    orderDetail.OrgStudents = newDetail.OrgStudents;
                }
                if (priceTypeTC == string.Empty)
                {
                    priceTypeTC =
                        pricePrefix + (orderDetail.Order.IsOrganization
                            ? PriceTypes.Corporate
                            : PriceTypes.PrivatePersonWeekend);
                }
                var allPricesForCourse =
                    PriceService.GetAllPricesForCourse(orderDetail.Course_TC,
                                                       orderDetail.Track_TC).AsQueryable();
                var price = allPricesForCourse.FirstOrDefault(p => p.PriceType_TC ==
                                                              priceTypeTC);
                if (price == null)
                {
                    price = allPricesForCourse.GetDefault();
                }

                orderDetail.Group_ID     = null;
                orderDetail.SeatNumber   = null;
                orderDetail.PriceType_TC = priceTypeTC;
                orderDetail.City_TC      = cityTC;
                orderDetail.Price        = price.Price;
            }
        }
예제 #8
0
파일: CartService.cs 프로젝트: dKluev/Site
 private void CleanTestCertsDopUslExamsAndSubmit(Entities.Context.Order order)
 {
     foreach (var od in order.OrderDetails.Where(x => x.IsTestCert).ToList())
     {
         order.OrderDetails.Remove(od);
     }
     if (order.OrderDetails.Any(x => !x.IsDopUsl))
     {
         foreach (var od in order.OrderDetails.Where(x => x.IsDopUsl).ToList())
         {
             order.OrderDetails.Remove(od);
         }
     }
     foreach (var od in order.OrderExams.ToList())
     {
         order.OrderExams.Remove(od);
     }
     OrderService.SubmitChanges();
 }
예제 #9
0
        public static string FromOrder(Entities.Context.Order order)
        {
            var inn = OrderCommonConst.AlphaCredit.GetValueOrDefault(order.OurOrgOrDefault);

            if (inn == null || order.OrderExams.Any())
            {
                return(null);
            }
            var rows = order.OrderDetails.Select(ListRow.FromOrderDetail)
                       .Concat(order.OrderExams.Select(ListRow.FromOrderExam));
            var price = order.TotalPriceWithDescount;

            if (!CorrectData(order.OrderDetails.Select(x => x.Group.GetOrDefault(y => y.DateBeg)).ToList(), price).Item1)
            {
                return(null);
            }
            var id = order.CommonOrderId;

            return(CreateXml(inn, id, order.User.LastName, order.User.FirstName, order.User.SecondName, price, rows));
        }
예제 #10
0
파일: MailService.cs 프로젝트: dKluev/Site
        public void OrderComplete(Entities.Context.Order order, bool sendToUser)
        {
            var user             = AuthService.CurrentUser;
            var isCredit         = order.PaymentType_TC == PaymentTypes.AlphaCredit;
            var template         = MailTemplateService.GetTemplate(isCredit ? MailTemplates.OrderCompleteCredit : MailTemplates.OrderComplete, user.FullName);
            var orderDescription = GetOrderDescription(order);

            orderDescription += HtmlControls.Anchor(CommonConst.SiteRoot +
                                                    "/order/paymenttypechoice?orderid=" + order.OrderID) + Br;
            if (order.PaymentType_TC == PaymentTypes.SberBank)
            {
                orderDescription += "Квитанция:" + Br +
                                    HtmlControls.Anchor(CommonConst.SiteRoot +
                                                        "/order/receipt?orderid=" + order.OrderID) + Br +
                                    "После оплаты необходимо подтвердить оплату обучения на странице:" + Br +
                                    HtmlControls.Anchor(CommonConst.SiteRoot +
                                                        "/order/confirm?orderid=" + order.OrderID) + Br;
            }

            var managerTC = order.Manager_TC ?? Employees.MainManager;
            var manager   = EmployeeService.AllEmployees()[order.Manager_TC];

            var body = TemplateEngine.GetText(
                template.Description, new {
                orderDescription,
                Manager = H.Anchor("/manager/" + managerTC.ToLower(),
                                   manager.LastName + " " + manager.FirstName).AbsoluteHref().ToString()
            });

            if (sendToUser)
            {
                Send(info, MailAddress(order.User), body, template.Name);
            }

            OrderInfoForManager(order);
        }
예제 #11
0
파일: CartService.cs 프로젝트: dKluev/Site
        public CartVM GetCart(decimal?orderId = null, bool addTrackDiscounts = false)
        {
            Entities.Context.Order order = null;
            Entities.Context.Order planOrder;
            if (orderId.HasValue)
            {
                order     = OrderService.GetByPK(orderId.Value);
                planOrder = OrderService.GetCurrentOrder(true) ?? new Entities.Context.Order();
            }
            else
            {
                order     = OrderService.GetCurrentOrder() ?? new Entities.Context.Order();
                planOrder = OrderService.GetCurrentOrder(true) ?? new Entities.Context.Order();
            }

            var trainer = EmployeeService.AllEmployees().GetValueOrDefault(order.FavoriteTeacher1);

            var cart = new CartVM(order)
            {
                InPlan     = new OrderSeparator(planOrder),
                User       = AuthService.CurrentUser,
                FavTrainer = trainer.GetOrDefault(x => x.FullName)
            };

            if (cart.OnlyIsCompaty &&
                order.CustomerType == OrderCustomerType.PrivatePerson)
            {
                UpdateOrder(OrderCustomerType.Organization);
            }

            cart.CourseTCHasExtrases = order.OrderDetails.Where(od => od.Track_TC == null &&
                                                                ExtrasService.GetFor(od).Any()).Select(od => od.Course_TC).ToList();

            cart.ExtrasTexts = ExtrasService.Texts();
            cart.IsNearestGroupOrderDetails = order.OrderDetails.Where(x =>
                                                                       x.Group_ID.HasValue && GroupService.GetGroupsForCourse(x.Course_TC)
                                                                       .FirstOrDefault().GetOrDefault(g => g.Group_ID == x.Group_ID))
                                              .Select(x => x.OrderDetailID).ToList();

            if (addTrackDiscounts && order.CustomerType != OrderCustomerType.Organization &&
                !cart.OnlyIsCompaty)
            {
                var trackInCart = order.OrderDetails.Where(x => x.Track_TC != null).Select(x => x.Track_TC).ToList();
                var courseTCs   = order.OrderDetails.Where(x => x.Track_TC.IsEmpty()).Select(x => x.Course_TC).ToList();
                if (courseTCs.Any())
                {
                    var trackCourses = CourseService.GetActiveTrackCourses().Select(x =>
                                                                                    new { x.Key, CourseCount = x.Value.Intersect(courseTCs).Count() })
                                       .Where(x => x.CourseCount > 0).ToDictionary(x => x.Key, x => x.CourseCount);
                    var trackTCs       = trackCourses.Select(x => x.Key).Where(tc => !trackInCart.Contains(tc)).ToList();
                    var tracks         = CourseService.GetAll(x => trackTCs.Contains(x.Course_TC)).ToList();
                    var trackDiscounts = TrackService.GetTrackDiscounts(tracks)
                                         .OrderByDescending(x => trackCourses[x.Track.Course_TC]).ThenBy(x => x.Price);
                    cart.TrackDiscounts = trackDiscounts.ToList();
                }

                var allOrderCourseTCs = order.OrderDetails.Select(x => x.Course_TC).ToList();
                cart.WithWebinar =
                    allOrderCourseTCs.Where(x => PriceService.GetAllPricesForCourse(x, null).Any(y => y.IsWebinar)).ToList();
            }

            return(cart);
        }
예제 #12
0
파일: MailService.cs 프로젝트: dKluev/Site
 private static TagA GetOrderCmsAnchor(Entities.Context.Order order)
 {
     return(order.IsSig ? null : H.Anchor(CmsUrls.Order + order.OrderID));
 }
예제 #13
0
파일: MailService.cs 프로젝트: dKluev/Site
        public void OrderStarted(Entities.Context.Order order)
        {
            var orderDetail = order.OrderDetails.FirstOrDefault(x => !x.IsTestCert);

            if (orderDetail == null)
            {
                return;
            }
            var courseData = orderDetail.Course;
            var groupData  = orderDetail.Group;

            var user        = order.User;
            var managerData = EmployeeService.AllEmployees()[Employees.GetKarpovich()];
            var manager     = H.Anchor("/manager/" + managerData.Employee_TC.ToLower(),
                                       managerData.FullName).AbsoluteHref().ToString();
            var managerPhoto = Images.Employee(managerData.Employee_TC).ToString();

            var userName = user.FullName;
            var template = MailTemplateService.GetTemplate(MailTemplates.OrderStarted, userName);

            var orderDescription = H.Anchor("/course/" + courseData.UrlName.ToLower(),
                                            courseData.GetName()).AbsoluteHref().ToString();
            var certType = string.Empty;

            if (courseData.AuthorizationType_TC == AuthorizationTypes.Microsoft)
            {
                certType = "Международный сертификат Microsoft";
            }
            else
            {
                certType = courseData.CourseCertificates
                           .FirstOrDefault().GetOrDefault(x => x.CertType.CertTypeName);
            }
            if (!certType.IsEmpty())
            {
                certType = " и " + certType;
            }
            var complexInfo = string.Empty;
            var trainerInfo = string.Empty;

            if (groupData != null && groupData.Teacher != null)
            {
                var trainerLink = H.Anchor("/trainer/" +
                                           groupData.Teacher.Employee_TC.ToLower(),
                                           groupData.Teacher.FullName).AbsoluteHref().ToString();
                var complexData = groupData.Complex;
                var complexLink = H.Anchor("/locations/complex/" +
                                           complexData.UrlName, complexData.Name).ToString();

                trainerInfo = "Ваш курс будет вести {0}. {1} <br/> {2}".FormatWith(trainerLink,
                                                                                   StringUtils.GetFirstParagraph(groupData.Teacher.SiteDescription),
                                                                                   H.Anchor("/trainer/{0}/trainer-responses/1".FormatWith(
                                                                                                groupData.Teacher.Employee_TC.ToLower()),
                                                                                            "Отзывы по преподавателю").AbsoluteHref());
                complexInfo = " или непосредственно в учебный комплекс {0} по адресу {1} {2}"
                              .FormatWith(complexLink, complexData.Address,
                                          H.Anchor(Urls.GetComplexMap(complexData.UrlName), "[Схема проезда]"));

                orderDescription += (". Дата начала занятий: {0}. " +
                                     "Место проведения обучения: УК {1}. Дни и часы занятий: {2} {3}").FormatWith(
                    groupData.DateBeg.DefaultString(), complexLink, groupData.DaySequence, groupData.TimeInterval);
            }
            var body = TemplateEngine.GetText(
                template.Description, new {
                orderDescription,
                manager,
                trainerInfo,
                complexInfo,
                managerPhoto,
                certType
            });
            var title = TemplateEngine.GetText(template.Name, new{ UserName = user.FirstSecondName });

            body = StringUtils.AddUtm(body, "email", "email", "unfinished_orders");
            Send(new MailAddress(managerData.FirstSpecEmail), MailAddress(order.User), body, title, websiteManagers);
        }
예제 #14
0
        public void Export(Entities.Context.Order order, bool checkIfExists)
        {
            var alreadyInGroups = new List <decimal>();
            var groups          = order.OrderDetails.Where(x => x.Group_ID.HasValue)
                                  .Select(x => new { Group_ID = x.Group_ID.Value, x.PriceType_TC }).ToList();

            if (checkIfExists && order.User.Student_ID.HasValue && groups.Any())
            {
                alreadyInGroups = StudentInGroupService.GetAll(x =>
                                                               x.Student_ID == order.User.Student_ID.Value &&
                                                               groups.Contains(new { x.Group_ID, x.PriceType_TC })).Select(x => x.Group_ID).ToList();
            }
            var student     = GetOrInsertStudentByUser(order.User, order.OrderID.ToString());
            var berthTypeTC = BerthTypes.NotPaid;
            var studentInGroupRepository = new Repository <StudentInGroup>(
                new SpecialistContextProvider());
            var nextContactDate = DateTime.Today.AddDays(1);

            if (order.OrderDetails.Any(x =>
                                       x.Group.GetOrDefault(g => g.DateBeg) == DateTime.Today))
            {
                nextContactDate = DateTime.Today;
            }
            var addEduDocs = false;

            foreach (var orderDetail in order.OrderDetails.Where(x =>
                                                                 !alreadyInGroups.Contains(x.Group_ID.GetValueOrDefault())))
            {
                if (!orderDetail.IsTestCert)
                {
                    addEduDocs = true;
                }
                var discount = orderDetail.GetAllDiscountsInPercent();

                string presenceTypeTC;
                if (PriceTypes.IsDistance(orderDetail.PriceType_TC))
                {
                    presenceTypeTC = PresenceTypes.Distance;
                }
                else if (PriceTypes.Webinars.Contains(orderDetail.PriceType_TC))
                {
                    presenceTypeTC = PresenceTypes.Webinar;
                }
                else
                {
                    presenceTypeTC = PresenceTypes.Intramural;
                }

                var courseOrderMangerTC = orderDetail.IsTestCert
                                        ? Employees.TestCert
                                        : Employees.Site;

                var isFree = orderDetail.Price == 0;
                var reason = orderDetail.ReasonForLearning;
                if (orderDetail.IsTestCert)
                {
                    reason = LearningReasons.Testing;
                }
                else if (!(orderDetail.IsTrack ||
                           orderDetail.Course.GetOrDefault(x => x.FullHours >= CommonConst.LongCourseHours)))
                {
                    reason = LearningReasons.Comprehensive;
                }



                var studentInGroup =
                    new StudentInGroup
                {
                    Student_ID        = student.Student_ID,
                    Group_ID          = orderDetail.CalcGroupId,
                    InputSource_TC    = GetInputSource(),
                    PriceType_TC      = orderDetail.PriceType_TC,
                    Discount          = Math.Round(discount),
                    BerthType_TC      = berthTypeTC,
                    Track_TC          = orderDetail.Track_TC,
                    SeatNumber        = orderDetail.SeatNumber,
                    Employee_TC       = Employees.Site,
                    InputDate         = DateTime.Now,
                    FavoriteTeacher1  = orderDetail.IsCourseOrder ? order.FavoriteTeacher1 : null,
                    Debt              = 100,
                    NextContactDate   = nextContactDate,
                    Consultant_TC     = courseOrderMangerTC,
                    Router_TC         = courseOrderMangerTC,
                    PresenceType_TC   = presenceTypeTC,
                    ReasonForLearning = reason,
                    PromoCode         = orderDetail.Order.PromoCode,
                    Charge            = orderDetail.PriceWithDiscount,
                    IsHungry          = PriceTypes.IsBusiness(
                        orderDetail.PriceType_TC)
                };
                ;
                if (IsPreTestPass(orderDetail))
                {
                    studentInGroup.IsEntryTestPassed = true;
                }
                if (isFree)
                {
                    studentInGroup.Debt            = 0;
                    studentInGroup.BerthType_TC    = BerthTypes.Kons;
                    studentInGroup.NextContactDate = null;
                }
                AddSource(order, studentInGroup);
                foreach (var extras in orderDetail.OrderExtras)
                {
                    studentInGroup.StudentInGroupExtras.Add(
                        new StudentInGroupExtras {
                        Extras_ID      = extras.Extras_ID,
                        StudentInGroup = studentInGroup
                    });
                }
                studentInGroupRepository.InsertAndSubmit(studentInGroup);
                orderDetail.StudentInGroup_ID = studentInGroup.StudentInGroup_ID;
            }


            foreach (var orderExam in order.OrderExams)
            {
                decimal groupID = Groups.NotChoiceGroupID;
                if (orderExam.Group_ID.HasValue)
                {
                    groupID = orderExam.Group_ID.Value;
                }
                var studentInGroup =
                    new StudentInGroup
                {
                    Student_ID        = student.Student_ID,
                    Group_ID          = groupID,
                    PriceType_TC      = PriceTypes.PrivatePersonWeekend,
                    BerthType_TC      = berthTypeTC,
                    Employee_TC       = Employees.Site,
                    InputDate         = DateTime.Now,
                    InputSource_TC    = GetInputSource(),
                    Debt              = 100,
                    ReasonForLearning = LearningReasons.Exam,
                    Exam_ID           = orderExam.Exam_ID,
                    NextContactDate   = nextContactDate,
                    Charge            = orderExam.Price,
                    PresenceType_TC   = PresenceTypes.Intramural,
                };
                AddSource(order, studentInGroup);
                studentInGroupRepository.InsertAndSubmit(studentInGroup);
                orderExam.StudentInGroup_ID = studentInGroup.StudentInGroup_ID;
            }

            if (addEduDocs)
            {
                new PioneerDataContext().uspAutoEntryPersonalRecords(student.Student_ID,
                                                                     order.EduDocTypeTC);
            }
        }