Beispiel #1
0
        public ActionResult CreateWizard([Bind(Include = "Id,Title,Step1,Step2,Step3")] WizardViewModel wizardViewModel, HttpPostedFileBase File1, HttpPostedFileBase File2, HttpPostedFileBase File3)
        {
            if (ModelState.IsValid)
            {
                Wizard wizard = new Wizard(wizardViewModel.Title);
                if ((File1 != null && File1.ContentLength > 0) &&
                    (File2 != null && File2.ContentLength > 0) &&
                    (File3 != null && File3.ContentLength > 0))
                {
                    var f1 = new StepViewModel
                    {
                        ImageType = File1.ContentType
                    };
                    var f2 = new StepViewModel
                    {
                        ImageType = File2.ContentType
                    };
                    var f3 = new StepViewModel
                    {
                        ImageType = File3.ContentType
                    };
                    using (var reader1 = new BinaryReader(File1.InputStream))
                    {
                        f1.ImageContent = reader1.ReadBytes(File1.ContentLength);
                    }
                    using (var reader2 = new BinaryReader(File2.InputStream))
                    {
                        f2.ImageContent = reader2.ReadBytes(File2.ContentLength);
                    }
                    using (var reader3 = new BinaryReader(File3.InputStream))
                    {
                        f3.ImageContent = reader3.ReadBytes(File3.ContentLength);
                    }
                    Step s1 = new Step(null, wizardViewModel.Step1, f1.ImageContent, f1.ImageType);
                    Step s2 = new Step(s1, wizardViewModel.Step2, f2.ImageContent, f2.ImageType);
                    Step s3 = new Step(s2, wizardViewModel.Step3, f3.ImageContent, f3.ImageType);

                    ActiveDirectoryReadOnlyRepository ad = new ActiveDirectoryReadOnlyRepository();
                    ActiveDirectoryUser adu = ad.GetUser(HttpContext.User.Identity.Name);

                    User user;
                    user = unitOfWork.UserRepository.GetUserBySamAccountName(HttpContext.User.Identity.Name);
                    if (user == null)
                    {
                        UserName un = new UserName(adu.Name, adu.Surname);
                        user = new User(un, adu.SamAccountName, adu.EmailAddress, "");
                    }

                    wizard.Step     = s1;
                    wizard.CreateBy = user;
                }
                unitOfWork.WizardRepository.Insert(wizard);
                unitOfWork.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }
            return(View(wizardViewModel));
        }
Beispiel #2
0
        public User UpdateUserInDB(string samAccountName)
        {
            ActiveDirectoryReadOnlyRepository ad = new ActiveDirectoryReadOnlyRepository();
            ActiveDirectoryUser userAD           = ad.GetUser(samAccountName);
            User userDB = unitOfWork.UserRepository.GetUserBySamAccountName(samAccountName);

            if (userDB == null)
            {
                UserName un = new UserName(userAD.Name, userAD.Surname);
                userDB = new User(un, userAD.SamAccountName, userAD.EmailAddress, "");
                unitOfWork.UserRepository.Insert(userDB);
                unitOfWork.SaveChanges();
            }
            else
            {
                userDB.mail = userAD.EmailAddress;
                unitOfWork.UserRepository.InsertOrUpdate(userDB);
                unitOfWork.SaveChanges();
            }
            return(userDB);
        }
        public ActionResult Create([Bind(Include = "ServiceId,Category1Id,Category2Id,Category3Id,Category4Id,ImpactId,Contact,Title,Description")] CreateRequestViewModel createRequestUserViewModel)
        {
            RequestBuilder builder = new RequestBuilder();

            ActiveDirectoryReadOnlyRepository ad = new ActiveDirectoryReadOnlyRepository();
            ActiveDirectoryUser adu = ad.GetUser(HttpContext.User.Identity.Name);

            User user;

            user = unitOfWork.UserRepository.GetUserBySamAccountName(HttpContext.User.Identity.Name);
            if (user == null)
            {
                UserName un = new UserName(adu.Name, adu.Surname);
                user = new User(un, adu.SamAccountName, adu.EmailAddress, "");
            }
            else
            {
                user.mail = adu.EmailAddress;
            }

            builder.WithWhoRegistered(user);
            builder.WithOwner(user);

            Origin origin = unitOfWork.OriginRepository.GetOriginByName("Aplicação");

            builder.WithOrigin(origin);
            builder.WithContact(createRequestUserViewModel.Contact);

            Category category;

            if (createRequestUserViewModel.Category4Id < 1)
            {
                if (createRequestUserViewModel.Category3Id < 1)
                {
                    if (createRequestUserViewModel.Category2Id < 1)
                    {
                        if (createRequestUserViewModel.Category1Id < 1)
                        {
                        }
                        else
                        {
                            category = unitOfWork.CategoryRepository.Get(createRequestUserViewModel.Category1Id);
                            builder.WithCategory(category);
                        }
                    }
                    else
                    {
                        category = unitOfWork.CategoryRepository.Get(createRequestUserViewModel.Category2Id);
                        builder.WithCategory(category);
                    }
                }
                else
                {
                    category = unitOfWork.CategoryRepository.Get(createRequestUserViewModel.Category3Id);
                    builder.WithCategory(category);
                }
            }
            else
            {
                category = unitOfWork.CategoryRepository.Get(createRequestUserViewModel.Category4Id);
                builder.WithCategory(category);
            }

            Impact impact = unitOfWork.ImpactRepository.Get(createRequestUserViewModel.ImpactId);

            builder.WithContact(createRequestUserViewModel.Contact);

            builder.WithImpact(impact);

            builder.WithTitle(createRequestUserViewModel.Title);
            builder.WithDescription(HttpUtility.HtmlDecode(createRequestUserViewModel.Description));

            Service            service            = unitOfWork.ServiceRepository.Get(createRequestUserViewModel.ServiceId);
            InteractionBuilder interactionBuilder = new InteractionBuilder();

            interactionBuilder.WithTitle(createRequestUserViewModel.Title);
            interactionBuilder.WithService(service);
            Interaction interaction = interactionBuilder.Build();

            Request request = builder.Build();

            request.AddInteraction(interaction);

            unitOfWork.RequestRepository.Insert(request);
            unitOfWork.SaveChanges();

            MailService ms = new MailService();

            ms.CreateMail("Assunto", "Corpo");
            MailAddress mail = new MailAddress(user.mail);

            ms.AddMail(mail);
            ms.Send();

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