コード例 #1
0
ファイル: IStudent.cs プロジェクト: blanquel/aulabit.REST
        public Message Login(LoginVM login)
        {
            var res = new Message();

            try
            {
                using (var context = new ModeloAula())
                {
                    var vGetaccesss = context.STUDENTs.AsQueryable().
                                      Where(x => x.STATUS_ITEM == true && x.EMAIL == login.Email && x.PWD == login.PWD).FirstOrDefault <STUDENT>();
                    // TODO analizar lo del
                    if (vGetaccesss != null)
                    {
                        Mapper.Initialize(cfg => cfg.CreateMap <STUDENT, StudentVM>());
                        var viewModel = AutoMapper.Mapper.Map <StudentVM>(vGetaccesss);

                        res.details = JsonConvert.SerializeObject(viewModel, Formatting.None);
                    }
                    else
                    {
                        res.details = "* Verificar usuario y/o contraseña";
                        res.details = JsonConvert.SerializeObject(res, Formatting.None);
                    }
                }
            }
            catch (Exception ex)
            {
                res.details = String.Format("* Incidencia al obtener credenciales detalles: {0}", ex.Message);
            }
            return(res);
        }
コード例 #2
0
        public Message Delete(int id)
        {
            var res = new Message();

            try
            {
                using (var context = new ModeloAula())
                {
                    var objschoolsubject = context.SCHOOL_SUBJECTS.AsQueryable().Where(x => x.ID == id).FirstOrDefault();

                    if (objschoolsubject != null)
                    {
                        objschoolsubject.STATUS_ITEM       = false;
                        objschoolsubject.MODIFICATION_DATE = DateTime.Now;
                    }
                    else
                    {
                        throw new Exception("* Materia escolar no existe, favor de veríficar");
                    }

                    context.Entry(objschoolsubject).State = EntityState.Modified;
                    context.SaveChanges();

                    res.status_item = true;
                    res.details     = "Borrado con éxito";
                    res.details     = JsonConvert.SerializeObject(res, Formatting.None);
                }
            }
            catch (Exception ex)
            {
                res.details = String.Format("* Incidencia al borrar Materia Escolar detalles:{0}", ex.Message);
            }
            return(res);
        }
コード例 #3
0
        public Message Update(SchoolSubjectVM objSchoolSubject)
        {
            var res = new Message();

            try
            {
                using (var context = new ModeloAula())
                {
                    var vobjSchoolSubject = context.SCHOOL_SUBJECTS.AsQueryable().Where(x => x.ID == objSchoolSubject.Id).SingleOrDefault();

                    if (vobjSchoolSubject != null)
                    {
                        vobjSchoolSubject.RATING_RECORD     = objSchoolSubject.RatingRecord;
                        vobjSchoolSubject.MODIFICATION_DATE = DateTime.Now;
                        vobjSchoolSubject.MAKER             = objSchoolSubject.MAKER;
                    }
                    else
                    {
                        throw new Exception("* Materia Escolar No existe");
                    }

                    context.Entry(vobjSchoolSubject).State = EntityState.Modified;
                    context.SaveChanges();

                    res.status_item = true;
                    res.details     = "* Se han realizado los cambios correctamente";
                    res.details     = JsonConvert.SerializeObject(res, Formatting.None);
                }
            }
            catch (Exception ex)
            {
                res.details = String.Format("* Incidencia al modíficar información de la materia escolar detalles:{0}", ex.Message);
            }
            return(res);
        }
コード例 #4
0
        public Message Create(SchoolAttendaceVM objSAVM)
        {
            var res = new Message();

            try
            {
                SCHOOL_ATTENDANCE viewModel = new SCHOOL_ATTENDANCE { ATTENDANCE_RECORD = objSAVM.AttendanceRecord, STATUS_ITEM = true, CREATE_DATE = DateTime.Now, ID_SCHOOL_SUBJECTS = objSAVM.IdSchoolSubject, MAKER = objSAVM.MAKER, MODIFICATION_DATE = DateTime.Now };

                using (var context = new ModeloAula())
                {
                    var vRegister = context.SCHOOL_ATTENDANCE.AsQueryable().Where(x => x.ID_SCHOOL_SUBJECTS == objSAVM.IdSchoolSubject).SingleOrDefault();
                    if (vRegister != null)
                        throw new Exception(string.Format("* Ya se encuentra asignado la asistencia "));

                    context.Entry(viewModel).State = EntityState.Added;
                    context.SaveChanges();

                    objSAVM.Id = viewModel.ID;
                    res.status_item = true;
                    res.details = JsonConvert.SerializeObject(objSAVM, Formatting.None);
                }
            }
            catch (Exception ex)
            {
                res.status_item = false;
                res.details = String.Format("* Incidencia al crear Materia Escolar detalles:{0}", ex.Message);
            }
            return res;
        }
コード例 #5
0
        public Message Update(SchoolAttendaceVM objSchoolAttendance)
        {
            var res = new Message();
            try
            {

                using (var context = new ModeloAula())
                {
                    var vobjSchoolAttendance = context.SCHOOL_ATTENDANCE.AsQueryable().Where(x => x.ID == objSchoolAttendance.Id).SingleOrDefault();

                    if (vobjSchoolAttendance != null)
                    {
                        vobjSchoolAttendance.ATTENDANCE_RECORD = objSchoolAttendance.AttendanceRecord;
                        vobjSchoolAttendance.MODIFICATION_DATE = DateTime.Now;
                        vobjSchoolAttendance.MAKER = objSchoolAttendance.MAKER;
                    }
                    else
                        throw new Exception(string.Format("* Asistencia {0} No existe", objSchoolAttendance.Id));

                    context.Entry(vobjSchoolAttendance).State = EntityState.Modified;
                    context.SaveChanges();

                    res.status_item = true;
                    res.details = string.Format("* Se han realizado los cambios correctamente de la asistencia {0}", objSchoolAttendance.Id);
                    res.details = JsonConvert.SerializeObject(res, Formatting.None);
                }

            }
            catch (Exception ex)
            {
                res.details = String.Format("* Incidencia al modíficar información de la materia escolar detalles:{0}", ex.Message);
            }
            return res;
        }
コード例 #6
0
        public Message GetbyID(int id)
        {
            var res = new Message();
            try
            {
                using (var context = new ModeloAula())
                {
                    if (id == -10)
                    {
                        var objschoolattendance = context.SCHOOL_ATTENDANCE.AsQueryable().ToList();
                        List<SchoolAttendaceVM> viewModel = new List<SchoolAttendaceVM>();

                        foreach (var item in objschoolattendance)
                        {
                            var tmp = new SchoolAttendaceVM { Id = item.ID, AttendanceRecord = item.ATTENDANCE_RECORD, IdSchoolSubject = item.ID_SCHOOL_SUBJECTS, MAKER = item.MAKER, StatusItem = item.STATUS_ITEM };
                            viewModel.Add(tmp);
                        }

                        if (viewModel.Count > 0)
                        {

                            res.status_item = true;
                            res.details = JsonConvert.SerializeObject(viewModel, Formatting.None);
                        }
                        else
                        {
                            res.status_item = false;
                            res.details = "* Sin registros";
                        }
                    }
                    else
                    {

                        var objschoolattendance = context.SCHOOL_ATTENDANCE.AsQueryable().Where(x => x.ID == id).SingleOrDefault();

                        if (objschoolattendance != null)
                        {
                            var viewModel = new SchoolAttendaceVM { Id = objschoolattendance.ID, AttendanceRecord = objschoolattendance.ATTENDANCE_RECORD, IdSchoolSubject = objschoolattendance.ID_SCHOOL_SUBJECTS, MAKER = objschoolattendance.MAKER, StatusItem = objschoolattendance.STATUS_ITEM };
                            res.status_item = true;
                            res.details = JsonConvert.SerializeObject(viewModel, Formatting.None);
                        }
                        else
                        {
                            res.status_item = false;
                            res.details = String.Format("* Incidencia veríficar la asistencia en esta materia escolar");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                res.status_item = false;
                res.details = String.Format("* Incidencia en el modulo la Asistencia de Materia Escolar:{0}", ex.Message);
            }
            return res;
        }
コード例 #7
0
        public Message Create(SchoolSubjectVM objSchoolSubject)
        {
            var res = new Message();

            try
            {
                // Convert to object required
                Mapper.Initialize(cfg => cfg.CreateMap <SchoolSubjectVM, SCHOOL_SUBJECTS>().ForMember(x => x.ID_CAT_DET, y => y.MapFrom(c => c.IdCatDet))
                                  .ForMember(x => x.RATING_RECORD, y => y.MapFrom(c => c.RatingRecord))
                                  .ForMember(x => x.ID_STUDENT, y => y.MapFrom(c => c.IdStudent)));

                var viewModel = AutoMapper.Mapper.Map <SCHOOL_SUBJECTS>(objSchoolSubject);

                using (var context = new ModeloAula())
                {
                    // TODO validate if exist School Subject
                    var vSchoolSubject = context.CATALOG_DETAILS.AsQueryable().Where(x => x.ID_CATALOG_DEFINITION == (int)CATALOG_TABLES.SCHOOL_SUBJECTS && x.ROW_ITEM == objSchoolSubject.IdCatDet).SingleOrDefault();
                    if (vSchoolSubject == null)
                    {
                        throw new Exception("* Debe elegir una materia escolar Hábil");
                    }

                    // TODO validate if exist Student
                    var vStudent = context.STUDENTs.AsQueryable().Where(x => x.ID == objSchoolSubject.IdStudent && x.STATUS_ITEM == true).SingleOrDefault();
                    if (vStudent == null)
                    {
                        throw new Exception("* Debe elegir un estudiante Hábil");
                    }

                    // TODO validate if exist Register

                    var vRegister = context.SCHOOL_SUBJECTS.AsQueryable().Where(x => x.ID_CAT_DET == objSchoolSubject.IdCatDet && x.ID_STUDENT == objSchoolSubject.IdStudent).SingleOrDefault();
                    if (vRegister != null)
                    {
                        throw new Exception(string.Format("* Ya se encuentra asignado {0} para {1}", vSchoolSubject.FIELD0, vStudent.NAME));
                    }

                    context.Entry(viewModel).State = EntityState.Added;
                    context.SaveChanges();

                    objSchoolSubject.Id = viewModel.ID;
                    res.status_item     = true;
                    res.details         = JsonConvert.SerializeObject(objSchoolSubject, Formatting.None);
                }
            }
            catch (Exception ex)
            {
                res.status_item = false;
                res.details     = String.Format("* Incidencia al crear Materia Escolar detalles:{0}", ex.Message);
            }
            return(res);
        }
コード例 #8
0
        public Message GetbyID(int id)
        {
            var res = new Message();

            try
            {
                Mapper.Initialize(cfg => cfg.CreateMap <SCHOOL_SUBJECTS, SchoolSubjectVM>().ForMember(x => x.IdCatDet, y => y.MapFrom(c => c.ID_CAT_DET))
                                  .ForMember(x => x.RatingRecord, y => y.MapFrom(c => c.RATING_RECORD))
                                  .ForMember(x => x.IdStudent, y => y.MapFrom(c => c.ID_STUDENT)));

                using (var context = new ModeloAula())
                {
                    if (id == -10)
                    {
                        var objschoolsubject = context.SCHOOL_SUBJECTS.AsQueryable().ToList();


                        List <SchoolSubjectVM> viewModel = Mapper.Map <List <SCHOOL_SUBJECTS>, List <SchoolSubjectVM> >(objschoolsubject);
                        res.status_item = true;
                        res.details     = JsonConvert.SerializeObject(viewModel, Formatting.None);
                    }
                    else
                    {
                        var objschoolsubject = context.SCHOOL_SUBJECTS.AsQueryable().Where(x => x.ID == id).SingleOrDefault();

                        if (objschoolsubject != null)
                        {
                            var viewModel = Mapper.Map <SchoolSubjectVM>(objschoolsubject);
                            res.status_item = true;
                            res.details     = JsonConvert.SerializeObject(viewModel, Formatting.None);
                        }
                        else
                        {
                            res.status_item = false;
                            res.details     = String.Format("* Incidencia veríficar id de la materia escolar");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                res.status_item = false;
                res.details     = String.Format("* Incidencia en el modulo Materia Escolar:{0}", ex.Message);
            }
            return(res);
        }
コード例 #9
0
ファイル: IStudent.cs プロジェクト: blanquel/aulabit.REST
        public Message GetbyID(int id)
        {
            var res = new Message();

            try
            {
                using (var context = new ModeloAula())
                {
                    if (id == -10)
                    {
                        var objstudent = context.STUDENTs.AsQueryable().ToList();

                        Mapper.Initialize(cfg => cfg.CreateMap <STUDENT, StudentVM>());
                        //var viewModel = Mapper.Map<StudentVM>(objstudent);

                        List <StudentVM> viewModel = Mapper.Map <List <STUDENT>, List <StudentVM> >(objstudent);
                        res.status_item = true;
                        res.details     = JsonConvert.SerializeObject(viewModel, Formatting.None);
                    }
                    else
                    {
                        var objstudent = context.STUDENTs.AsQueryable().Where(x => x.ID == id).FirstOrDefault();

                        if (objstudent != null)
                        {
                            Mapper.Initialize(cfg => cfg.CreateMap <STUDENT, StudentVM>());
                            var viewModel = AutoMapper.Mapper.Map <StudentVM>(objstudent);
                            res.status_item = true;
                            res.details     = JsonConvert.SerializeObject(viewModel, Formatting.None);
                        }
                        else
                        {
                            res.status_item = false;
                            res.details     = String.Format("* Incidencia veríficar id usuario");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                res.status_item = false;
                res.details     = String.Format("* Incidencia al borrar usuario detalles:{0}", ex.Message);
            }
            return(res);
        }
コード例 #10
0
ファイル: IStudent.cs プロジェクト: blanquel/aulabit.REST
        public Message Create(StudentVM student)
        {
            var res   = new Message();
            var email = new Email {
                To = new List <string> {
                    student.Email
                }, typeEmail = TypeEmail.CREATE
            };

            try
            {
                student.Token = "-1000";
                //student.Status = true;
                Mapper.Initialize(cfg => cfg.CreateMap <StudentVM, STUDENT>());
                var viewModel = AutoMapper.Mapper.Map <STUDENT>(student);
                viewModel.STATUS_ITEM = true;
                using (var context = new ModeloAula())
                {
                    if (!context.STUDENTs.Any(x => x.EMAIL == viewModel.EMAIL))
                    {
                        Task.Run(() => email.SendAsync());

                        context.Entry(viewModel).State = EntityState.Added;
                        context.SaveChanges();

                        student.ID      = viewModel.ID;
                        res.status_item = true;
                        res.details     = JsonConvert.SerializeObject(student, Formatting.None);
                    }
                    else
                    {
                        res.status_item = false;
                        res.details     = string.Format("* El usuario {0} ya existe", viewModel.EMAIL);
                    }
                }
            }
            catch (Exception ex)
            {
                res.details = String.Format("* Incidencia al crear usuario detalles:{0}", ex.Message);
            }

            Task.WaitAll();
            return(res);
        }
コード例 #11
0
ファイル: IStudent.cs プロジェクト: blanquel/aulabit.REST
        public Message Update(StudentVM student)
        {
            var res = new Message();

            try
            {
                if (student.ID > 0)
                {
                    using (var context = new ModeloAula())
                    {
                        var objstudent = context.STUDENTs.AsQueryable().Where(x => x.ID == student.ID).FirstOrDefault();

                        if (objstudent != null)
                        {
                            objstudent.NAME              = student.Name;
                            objstudent.LASTNAME          = student.LastName;
                            objstudent.PWD               = student.PWD;
                            objstudent.EMAIL             = student.Email;
                            objstudent.STATUS_ITEM       = student.Status;
                            objstudent.MODIFICATION_DATE = DateTime.Now;
                            student.Token = objstudent.TOKEN = HashCore.Token();
                        }

                        context.Entry(objstudent).State = EntityState.Modified;
                        context.SaveChanges();

                        res.status_item = true;
                        res.details     = JsonConvert.SerializeObject(student, Formatting.None);
                    }
                }
                else
                {
                    res.status_item = false;
                    res.details     = String.Format("* Incidencia veríficar id usuario");
                }
            }
            catch (Exception ex)
            {
                res.details = String.Format("* Incidencia al crear usuario detalles:{0}", ex.Message);
            }
            return(res);
        }
コード例 #12
0
ファイル: IStudent.cs プロジェクト: blanquel/aulabit.REST
        public Message Delete(int id)
        {
            var res = new Message();

            try
            {
                if (id > 0)
                {
                    using (var context = new ModeloAula())
                    {
                        var objstudent = context.STUDENTs.AsQueryable().Where(x => x.ID == id).FirstOrDefault();

                        if (objstudent != null)
                        {
                            objstudent.STATUS_ITEM       = false;
                            objstudent.MODIFICATION_DATE = DateTime.Now;
                        }

                        context.Entry(objstudent).State = EntityState.Modified;
                        context.SaveChanges();

                        res.status_item = true;
                        res.details     = "Borrado con éxito";
                        res.details     = JsonConvert.SerializeObject(res, Formatting.None);
                    }
                }
                else
                {
                    res.status_item = false;
                    res.details     = String.Format("* Incidencia veríficar id usuario");
                }
            }
            catch (Exception ex)
            {
                res.details = String.Format("* Incidencia al borrar usuario detalles:{0}", ex.Message);
            }
            return(res);
        }
コード例 #13
0
ファイル: Util.cs プロジェクト: blanquel/aulabit.REST
        public bool SendAsync()
        {
            try
            {
                // get config
                using (var _context = new ModeloAula())
                {
                    switch (typeEmail)
                    {
                    case TypeEmail.CREATE:

                        var emailconfigV2 = _context.CATALOG_DETAILS.AsQueryable().Where(x => x.ID_CATALOG_DEFINITION == (int)CATALOG_TABLES.EMAIL && x.ROW_ITEM == (int)typeEmail).Select(x => new { x.FIELD0, x.FIELD1, x.FIELD2, x.FIELD3, x.FIELD4, x.FIELD5 }).FirstOrDefault();
                        this.Subject = emailconfigV2.FIELD0;
                        this.Body    = emailconfigV2.FIELD1;
                        this.From    = emailconfigV2.FIELD2;
                        this.PWD     = emailconfigV2.FIELD3;
                        this.smtp    = emailconfigV2.FIELD4;
                        this.port    = int.Parse(emailconfigV2.FIELD5);
                        break;

                    case TypeEmail.DELETE:
                        break;

                    default:
                        break;
                    }
                }

                // start
                var message = new MimeMessage();
                message.From.Add(new MailboxAddress("UDO", From));
                if (To == null)
                {
                    throw new Exception("* Se requiere destinatario");
                }
                else
                {
                    foreach (string item in To)
                    {
                        message.To.Add(new MailboxAddress(item.Split('@')[0], item));
                    }
                }
                message.Subject = Subject;

                message.Body = new TextPart("html")
                {
                    Text = @Body
                };

                using (var client = new SmtpClient())
                {
                    // For demo-purposes, accept all SSL certificates (in case the server supports STARTTLS)
                    client.ServerCertificateValidationCallback = (s, c, h, e) => true;

                    client.Connect(this.smtp, this.port, false);

                    // Note: since we don't have an OAuth2 token, disable
                    // the XOAUTH2 authentication mechanism.
                    client.AuthenticationMechanisms.Remove("XOAUTH2");

                    // Note: only needed if the SMTP server requires authentication
                    client.Authenticate(this.From, this.PWD);

                    client.Send(message);
                    client.Disconnect(true);
                }
                // end
            }

            catch (Exception ex)
            {
                // TODO add nlog or insight
                Console.WriteLine(ex.Message);
                res = false;
            }
            return(res);
        }