Ejemplo n.º 1
0
        private decimal SaveStudent(string contact, string[] names)
        {
            var firstName = string.Empty;
            var lastName  = "Слушатель";

            if (names.Length == 1)
            {
                firstName = names[0];
            }
            else
            {
                lastName  = names[0];
                firstName = names[1];
            }
            var student = new Student {
                LastName   = lastName,
                FirstName  = firstName,
                WebKeyword = Guid.NewGuid().ToString("N").Substring(0, 10),
                WebLogin   = Guid.NewGuid().ToString("N").Substring(0, 10),
                Sex        = Sex.M,
                Terrain_ID = Cities.Terrains.Moscow
            };

            if (contact.Contains("@"))
            {
                var email        = contact.Trim();
                var studentEmail = StudentEmailService.FirstOrDefault(x => x.Email == email);
                if (studentEmail != null)
                {
                    return(studentEmail.Student_ID);
                }
                studentEmail = SpecialistExportService.CreateStudentEmail(email);
                student.StudentEmails.Add(studentEmail);
            }
            else
            {
                var phone = Regex.Replace(contact, @"[+\s()-]", "");
                if (Regex.IsMatch(phone, @"\d+"))
                {
                    var studentPhone = StudentPhoneService
                                       .FirstOrDefault(x => x.PhoneNumber == phone);
                    if (studentPhone != null)
                    {
                        return(studentPhone.Student_ID);
                    }
                    studentPhone = SpecialistExportService.CreateStudentPhone(null,
                                                                              phone);
                    student.StudentPhones.Add(studentPhone);
                }
            }

            SpecialistExportService.SaveStudnet(student);
            return(student.Student_ID);
        }