Exemplo n.º 1
0
        private void CreatePartys()
        {
            #region CREATE PARTYS
            PartyManager     partyManager     = new PartyManager();
            PartyTypeManager partyTypeManager = new PartyTypeManager();

            PartyType partyType = partyTypeManager.PartyTypeRepository.Get().Where(p => p.Title.Equals("Person")).FirstOrDefault();

            if (partyType != null)
            {
                PartyStatusType partyStatusType = partyTypeManager.AddStatusType(partyType, "just created",
                                                                                 "this is for test data", 0);

                var p = partyManager.Create(partyType, "David Blaa", "desc", null, null, partyStatusType);
                // add value
                var pAttr = partyTypeManager.PartyCustomAttributeRepository.Get().Where(a => a.Name.Equals("FirstName")).FirstOrDefault();
                partyManager.AddPartyCustomAttributeValue(ref p, pAttr, "David");

                pAttr = partyTypeManager.PartyCustomAttributeRepository.Get().Where(a => a.Name.Equals("LastName")).FirstOrDefault();
                partyManager.AddPartyCustomAttributeValue(ref p, pAttr, "Schöne");

                pAttr = partyTypeManager.PartyCustomAttributeRepository.Get().Where(a => a.Name.Equals("Email")).FirstOrDefault();
                partyManager.AddPartyCustomAttributeValue(ref p, pAttr, "*****@*****.**");

                /***********************************/
                p = partyManager.Create(partyType, "Sven Thiel", "desc", null, null, partyStatusType);
                // add value
                pAttr = partyTypeManager.PartyCustomAttributeRepository.Get().Where(a => a.Name.Equals("FirstName")).FirstOrDefault();
                partyManager.AddPartyCustomAttributeValue(ref p, pAttr, "Sven");

                pAttr = partyTypeManager.PartyCustomAttributeRepository.Get().Where(a => a.Name.Equals("LastName")).FirstOrDefault();
                partyManager.AddPartyCustomAttributeValue(ref p, pAttr, "Thiel");

                pAttr = partyTypeManager.PartyCustomAttributeRepository.Get().Where(a => a.Name.Equals("Email")).FirstOrDefault();
                partyManager.AddPartyCustomAttributeValue(ref p, pAttr, "*****@*****.**");

                /***********************************/
                p = partyManager.Create(partyType, "Martin Hohmuth", "desc", null, null, partyStatusType);
                // add value
                pAttr = partyTypeManager.PartyCustomAttributeRepository.Get().Where(a => a.Name.Equals("FirstName")).FirstOrDefault();
                partyManager.AddPartyCustomAttributeValue(ref p, pAttr, "Martin");

                pAttr = partyTypeManager.PartyCustomAttributeRepository.Get().Where(a => a.Name.Equals("LastName")).FirstOrDefault();
                partyManager.AddPartyCustomAttributeValue(ref p, pAttr, "Hohmuth");

                pAttr = partyTypeManager.PartyCustomAttributeRepository.Get().Where(a => a.Name.Equals("Email")).FirstOrDefault();
                partyManager.AddPartyCustomAttributeValue(ref p, pAttr, "*****@*****.**");
            }



            #endregion
        }
Exemplo n.º 2
0
        public ActionResult Update(UpdateUserModel model)
        {
            using (var userManager = new UserManager())
                using (var partyManager = new PartyManager())
                    using (var partyTypeManager = new PartyTypeManager())
                    {
                        // check wheter model is valid or not
                        if (!ModelState.IsValid)
                        {
                            return(PartialView("_Update", model));
                        }

                        // check if a user with the incoming id exist
                        var user = userManager.FindByIdAsync(model.Id).Result;
                        if (user == null)
                        {
                            return(PartialView("_Update", model));
                        }

                        // if the email is changed, the system needs to check, if the incoming email allready exist by a other user or not
                        if (user.Email != model.Email)
                        {
                            // check duplicate email cause of client validation is not working in a telerik window :(
                            var duplicateUser = userManager.FindByEmailAsync(model.Email).Result;
                            if (duplicateUser != null)
                            {
                                ModelState.AddModelError("Email", "The email address exists already.");
                            }
                            if (!ModelState.IsValid)
                            {
                                return(PartialView("_Update", model));
                            }

                            var es = new EmailService();
                            es.Send(MessageHelper.GetUpdateEmailHeader(),
                                    MessageHelper.GetUpdaterEmailMessage(user.DisplayName, user.Email, model.Email),
                                    ConfigurationManager.AppSettings["SystemEmail"]
                                    );
                        }
                        user.Email = model.Email;

                        // Update email in party
                        if (ConfigurationManager.AppSettings["usePersonEmailAttributeName"] == "true")
                        {
                            var party = partyManager.GetPartyByUser(user.Id);

                            var nameProp = partyTypeManager.PartyCustomAttributeRepository.Get(attr => (attr.PartyType == party.PartyType) && (attr.Name == ConfigurationManager.AppSettings["PersonEmailAttributeName"])).FirstOrDefault();
                            if (nameProp != null)
                            {
                                partyManager.AddPartyCustomAttributeValue(party, nameProp, user.Email);
                            }
                        }

                        userManager.UpdateAsync(user);
                        return(Json(new { success = true }));
                    }
        }