Пример #1
0
 private async void InsertAdmin(Admin admin)
 {
     using (var context = new HUBEI_DBContext(new DbContextOptions <HUBEI_DBContext>()))
     {
         context.Add(admin);
         await context.SaveChangesAsync();
     }
 }
Пример #2
0
        public async Task <IActionResult> Project(BOProjectViewModel model)
        {
            if (!User.Identity.IsAuthenticated)
            {
                TempData["Got-Error"]     = "true";
                TempData["Login-Message"] = "É necessário iniciar sessão";

                return(RedirectToAction("Index", "Home"));
            }

            if (ModelState.IsValid)
            {
                byte[] file  = null;
                byte[] video = null;

                List <ProjectDocument> attachments = new List <ProjectDocument>();

                if (model.Attachments != null)
                {
                    foreach (var formFile in model.Attachments)
                    {
                        if (formFile.Length > 0)
                        {
                            using (var memoryStream = new MemoryStream())
                            {
                                await formFile.CopyToAsync(memoryStream);

                                attachments.Add(new ProjectDocument
                                {
                                    Document = memoryStream.ToArray(),
                                    FileName = formFile.FileName,
                                    FileSize = formFile.Length / 1024 / 1024
                                });
                            }
                        }
                    }
                }

                using (var memoryStream = new MemoryStream())
                {
                    await model.Report.CopyToAsync(memoryStream);

                    file = memoryStream.ToArray();
                }

                if (model.Video != null)
                {
                    using (var memoryStream = new MemoryStream())
                    {
                        await model.Video.CopyToAsync(memoryStream);

                        video = memoryStream.ToArray();
                    }
                }

                var project = new Project
                {
                    Title          = model.Project.Title,
                    Description    = model.Project.Description,
                    Report         = file,
                    ProjectDate    = model.Project.ProjectDate,
                    IsVisible      = model.Project.IsVisible,
                    IdCompany      = model.Project.IdCompany,
                    IdProjectType  = model.Project.IdProjectType,
                    IdStudent      = model.Project.IdStudent,
                    Grade          = model.Project.Grade,
                    IdBusinessArea = model.Project.IdBusinessArea,
                    Video          = video
                };

                _context.Add(project);
                await _context.SaveChangesAsync();

                foreach (var attachment in attachments)
                {
                    attachment.IdProject = project.IdProject;
                    await _context.AddAsync(attachment);
                }

                _context.SaveChanges();

                foreach (MentorsCheckBox mentor in model.Mentors)
                {
                    if (mentor.Selected)
                    {
                        var newMentor = new ProjectAdvisor
                        {
                            IdProject      = project.IdProject,
                            IdSchoolMentor = mentor.SchoolMentor.IdSchoolMentor
                        };

                        _context.Add(newMentor);
                    }
                }

                _context.SaveChanges();

                if (model.Project.IdCompany != 0)
                {
                    if (model.Project.IdCompany == null)
                    {
                        model.Project.IdCompany = 0;
                    }
                    SendCompanyEmail((long)model.Project.IdCompany, model.Project.Title, model.Project.IdStudent);
                }

                return(RedirectToAction("Projects", "BackOffice"));
            }

            return(RedirectToAction("Projects", "BackOffice"));
        }