public void Update(Marriage marriage) => _db.Execute( $"UPDATE {TableName}" + $" SET {string.Join(",", GetNames().Select(x => $"{x}=@{x}"))}" + $" WHERE {nameof(Marriage.id)}={marriage.id}", GetObj(marriage) );
private JsonItem GetMarriageNode(Person person, Marriage marriage) { var marriageStr = Utils.GetMarriageDescription(marriage); var partnerId = (marriage.husband_id == person.id) ? marriage.wife_id : marriage.husband_id; var partner = _persons.Where(x => x.id == partnerId).SingleOrDefault(); var partnerNode = default(JsonItem); if (partner != null) { if (_processed.ContainsKey(partner)) { partnerNode = new JsonItem(GetFullMarriageDescription(marriageStr, Utils.GetDuplicateStr(partner))); } else { partnerNode = new JsonItem(GetFullMarriageDescription(marriageStr, Utils.GetPersonDescription(partner))); } } else { partnerNode = new JsonItem(GetFullMarriageDescription(marriageStr, "(unknown)")); } return(partnerNode); }
public void CloneObjectAndRefenceListObjects() { var sut = this.SetupMapper(); var husband = new Person { Age = 46, FirstName = "Eddard", LastName = "Stark" }; var wife = new Person { Age = 44, FirstName = "Catelyn", LastName = "Stark" }; var children = this.SetupPersonList(); husband.Children = children; wife.Children = children; var marriage = new Marriage { Husband = husband, Wife = wife }; var clone = sut.Clone(marriage); for (int i = 0; i < clone.Husband.Children.Count; i++) { var child1 = clone.Husband.Children[i]; var child2 = clone.Wife.Children[i]; Assert.AreSame(child1, child2); } }
public ActionResult Marriage(Marriage marriage) { if (ModelState != null) { using (RevenueManagementDbContext db = new RevenueManagementDbContext()) { var result1 = db.Marriages.Where(a => a.Email == marriage.Email).FirstOrDefault(); if (result1 != null) { ViewBag.Feedback = "Record Already Exist."; return(RedirectToAction("Marriage")); } db.SaveChanges(); var result = db.Citizens.Single(a => a.Email == marriage.Email); db.SaveChanges(); if (result == null) { return(View()); } marriage.CitizenId = result.CitizenId; db.Marriages.Add(marriage); db.SaveChanges(); ModelState.Clear(); ViewBag.Feedback = "Successfully Registered."; } } return(View()); }
public void ImportEmptyObject() { Marriage m = (Marriage)Import(typeof(Marriage), "{}"); Assert.IsNull(m.Husband, "Husband"); Assert.IsNull(m.Wife, "Wife"); }
public ActionResult EditMarriage(Marriage emp) { using (RevenueManagementDbContext db = new RevenueManagementDbContext()) { var emp1 = db.Marriages.Where(row => row.Id == emp.Id).FirstOrDefault(); if (emp1 == null) { return(RedirectToAction("RegisteredMarriage")); } emp1.Id = emp.Id; emp1.Occupation = emp.Occupation; emp1.AmountPaid = emp.AmountPaid; emp1.NameOfCouple = emp.NameOfCouple; emp1.Date = emp.Date; emp1.DateRegistered = emp.DateRegistered; emp1.Email = emp.Email; int res = db.SaveChanges(); if (res > 0) { ViewBag.Message = "Successfully Updated"; } } return(View()); }
public void EmbeddedObjects() { Person snow = new Person(); snow.Id = 2; snow.FullName = "Snow White"; Person albert = new Person(); albert.Id = 1; albert.FullName = "Albert White"; Marriage m = new Marriage(); m.Husband = albert; m.Wife = snow; Test(new JsonObject( new string[] { "husband", "wife" }, new object[] { /* Husband */ new JsonObject( new string[] { "id", "fullName" }, new object[] { albert.Id, albert.FullName }), /* Wife */ new JsonObject( new string[] { "id", "fullName" }, new object[] { snow.Id, snow.FullName }) }), m); }
public static IOccassion GetOccassionInputs(Occasion occasion, ILog logger) { IOccassion newOccassion = null; string name1 = string.Empty, name2 = string.Empty; switch (occasion) { case Occasion.Birthday: Console.WriteLine("Get birthyguy name"); name1 = Console.ReadLine(); newOccassion = new Birthday(name1); break; case Occasion.HouseWarming: Console.WriteLine("Get houseonwers name"); name1 = Console.ReadLine(); newOccassion = new HouseWarming(name1); break; case Occasion.Marriage: Console.WriteLine("Get bride and grooms name"); name1 = Console.ReadLine(); name2 = Console.ReadLine(); newOccassion = new Marriage(name1, name2); break; } return(newOccassion); }
//访问者 public static void testVisitor() { ObjectStructure o = new ObjectStructure(); o.Attach(new Man()); o.Attach(new Woman()); Success v1 = new Success(); o.Display(v1); Failing v2 = new Failing(); o.Display(v2); Amativeness v3 = new Amativeness(); o.Display(v3); Marriage v4 = new Marriage(); o.Display(v4); Console.Read(); }
public void EmbeddedObjects() { Person snow = new Person(); snow.Id = 2; snow.FullName = "Snow White"; Person albert = new Person(); albert.Id = 1; albert.FullName = "Albert White"; Marriage m = new Marriage(); m.Husband = albert; m.Wife = snow; Test(new JsonObject( new string[] { "Husband", "Wife" }, new object[] { /* Husband */ new JsonObject( new string[] { "Id", "FullName" }, new object[] { albert.Id, albert.FullName }), /* Wife */ new JsonObject( new string[] { "Id", "FullName" }, new object[] { snow.Id, snow.FullName }) }), m); }
/// <summary> /// Рандомное создание персоны /// </summary> /// <returns>Возвращает персону типа Adult</returns> public static Adult GetRandomPerson() { //TODO: RSDN Random random = new Random(); Thread.Sleep(20); Gender gender = new Gender(); Marriage maritalStatus = new Marriage(); if (random.Next(0, 10) < 5) { gender = Gender.Male; Thread.Sleep(20); } if (random.Next(0, 10) < 7) { maritalStatus = Marriage.Married; Thread.Sleep(20); } else if (random.Next(0, 10) >= 7) { maritalStatus = Marriage.Unmarried; Thread.Sleep(20); } return(GetPerson(gender, maritalStatus)); }
public void EmbeddedObjects() { var snow = new Person { Id = 2, FullName = "Snow White" }; var albert = new Person { Id = 1, FullName = "Albert White" }; var m = new Marriage { Husband = albert, Wife = snow }; var obj = new JsonObject { new JsonMember("husband", new JsonObject { new JsonMember("id", albert.Id), new JsonMember("fullName", albert.FullName), }), new JsonMember("wife", new JsonObject { new JsonMember("id", snow.Id), new JsonMember("fullName", snow.FullName), }), }; Test(obj, m); }
public async Task DivorceAsync(EventContext e) { using (MikiContext context = new MikiContext()) { var marriages = await Marriage.GetMarriagesAsync(context, e.Author.Id.ToDbLong()); if (marriages.Count == 0) { throw new Exception("You're not married to anyone."); } UserMarriedTo m = await SelectMarriageAsync(e, context, marriages); string otherName = await User.GetNameAsync(context, m.GetOther(e.Author.Id.ToDbLong())); EmbedBuilder embed = Utils.Embed; embed.Title = $"🔔 {e.GetResource("miki_module_accounts_divorce_header")}"; embed.Description = e.GetResource("miki_module_accounts_divorce_content", e.Author.Username, otherName); embed.Color = new Color(0.6f, 0.4f, 0.1f); embed.ToEmbed().QueueToChannel(e.Channel); m.Remove(context); await context.SaveChangesAsync(); } }
public async Task <Result <bool, Error> > TryAddMarriage(ulong user1, ulong user2) => await _soraTransactor.TryDoInTransactionAsync(async context => { this.OrderUserIdsRef(ref user1, ref user2); // Check if already exists var marr = await context.Marriages.FirstOrDefaultAsync(x => x.Partner1Id == user1 && x.Partner2Id == user2); if (marr != null) { return(new Result <bool, Error>(new Error("You are already married to this person"))); } // Make sure users exists :) await context.Users.GetOrCreateUserNoSaveAsync(user1); await context.Users.GetOrCreateUserNoSaveAsync(user2); var user1Count = await this.GetUserMarriageCount(user1); var user2Count = await this.GetUserMarriageCount(user2); if (user1Count >= _MAX_MARRIAGES || user2Count >= _MAX_MARRIAGES) { return(new Result <bool, Error>(new Error("Marriage limit has been reached"))); } // Otherwise we create it var marriage = new Marriage() { Partner1Id = user1, Partner2Id = user2, PartnerSince = DateTime.UtcNow }; context.Marriages.Add(marriage); await context.SaveChangesAsync(); return(true); }).ConfigureAwait(false);
private List <JsonItem> GetChildrenNodes(Marriage marriage) { var childrenNodes = default(List <JsonItem>); var sons = _sons.Where(x => x.marriage_id == marriage.id).ToList(); if (sons.Any()) { childrenNodes = new List <JsonItem>(); foreach (var son in sons) { var sonPerson = _persons.Where(x => x.id == son.person_id).Single(); var sonNode = default(JsonItem); if (_processed.ContainsKey(sonPerson)) { sonNode = new JsonItem(_processed[sonPerson]); } else { sonNode = GetDeepNode(sonPerson); } childrenNodes.Add(sonNode); } } return(childrenNodes); }
public async Task DeclineMarriageAsync(EventContext e) { using (MikiContext context = new MikiContext()) { var marriages = await Marriage.GetProposalsReceived(context, e.Author.Id.ToDbLong()); if (marriages.Count == 0) { throw new Exception("You do not have any proposals."); } UserMarriedTo m = await SelectMarriageAsync(e, context, marriages); string otherName = await User.GetNameAsync(context, m.GetOther(e.Author.Id.ToDbLong())); new EmbedBuilder() { Title = $"🔫 You shot down {otherName}!", Description = $"Aww, don't worry {otherName}. There is plenty of fish in the sea!", Color = new Color(191, 105, 82) }.ToEmbed().QueueToChannel(e.Channel); m.Remove(context); await context.SaveChangesAsync(); } }
public async Task MarryAsync(EventContext e) { Locale locale = Locale.GetEntity(e.Channel.Id); if (e.message.MentionedUserIds.Count == 0) { await e.Channel.QueueMessageAsync(locale.GetString("miki_module_accounts_marry_error_no_mention")); return; } using (MikiContext context = new MikiContext()) { IDiscordUser user = await e.Guild.GetUserAsync(e.message.MentionedUserIds.First()); User mentionedPerson = await User.GetAsync(context, user); User currentUser = await User.GetAsync(context, e.Author); if (mentionedPerson.Banned) { return; } if (currentUser == null || mentionedPerson == null) { await Utils.ErrorEmbed(locale, "miki_module_accounts_marry_error_null").QueueToChannel(e.Channel); return; } if (mentionedPerson.Id == currentUser.Id) { await Utils.ErrorEmbed(locale, locale.GetString("miki_module_accounts_marry_error_null")).QueueToChannel(e.Channel); return; } if (await Marriage.ExistsAsync(context, mentionedPerson.Id, currentUser.Id)) { await Utils.ErrorEmbed(locale, locale.GetString("miki_module_accounts_marry_error_exists")).QueueToChannel(e.Channel); return; } if (await Marriage.ProposeAsync(context, currentUser.Id, mentionedPerson.Id)) { await Utils.Embed .SetTitle("💍" + e.GetResource("miki_module_accounts_marry_text", $"**{e.Author.Username}**", $"**{user.Username}**")) .SetDescription(locale.GetString("miki_module_accounts_marry_text2", user.Username, e.Author.Username)) .SetColor(0.4f, 0.4f, 0.8f) .SetThumbnailUrl("https://i.imgur.com/TKZSKIp.png") .AddInlineField("✅ To accept", $">acceptmarriage @user") .AddInlineField("❌ To decline", $">declinemarriage @user") .SetFooter("Take your time though! This proposal won't disappear", "") .QueueToChannel(e.Channel); } } }
private object GetObj(Marriage marriage) => new { husband_id = marriage.husband_id, wife_id = marriage.wife_id, date = marriage.date, place = marriage.place, comments = marriage.comments };
public MarriageViewer(string connStr, Marriage matrimoni) { _personaRepository = new PersonRepository(connStr); _matrimoniRepository = new MarriageRepository(connStr); _fillRepository = new SonRepository(connStr); _matrimoni = matrimoni; }
private ActionResult Marriage(Marriage marriage) { var people = _personRepository.GetAll(); ViewBag.men = Utils.GetPersonsSelectListByGender(people, isMale: true); ViewBag.women = Utils.GetPersonsSelectListByGender(people, isMale: false); return(View(nameof(MarriageController.Marriage), marriage)); }
public async ValueTask AcceptProposalAsync(Marriage marriage) { marriage.TimeOfMarriage = DateTime.Now; marriage.IsProposing = false; await marriageRepository.EditAsync(marriage); await unitOfWork.CommitAsync(); }
/// <summary> /// Конструктор взрослого /// </summary> /// <param name="name">Имя</param> /// <param name="surname">Фамилия</param> /// <param name="age">Возраст</param> /// <param name="sex">Пол</param> /// <param name="passport">Паспортные данные</param> /// <param name="marriage">Семейное положение</param> public Adult(string name, string surname, int age, Gender sex, string passport, Marriage marriage, string job) : base(name, surname, sex) { Age = age; Passport = passport; Marriage = marriage; Job = job; }
public async Task <IActionResult> AddRelative(AddRelativeModel addRelativeModel) { if (addRelativeModel.RelativeTypeId == 1) { var toPerson = _db.Persons.FirstOrDefault(n => n.Id == addRelativeModel.ToPersonId); var fromPerson = _db.Persons.FirstOrDefault(n => n.Id == addRelativeModel.FromPersonId); if (toPerson is null || fromPerson is null) { return(RedirectToAction("Profile")); } Marriage marriage = new Marriage() { WeddDate = addRelativeModel.WeddDate, IsDivorced = addRelativeModel.IsDivorced, DivorceDate = addRelativeModel.DivorceDate, Description = $"{toPerson.Firstname} и {fromPerson.Firstname}" }; try { await _db.Marriages.AddAsync(marriage); await _db.SaveChangesAsync(); addRelativeModel.MarriageId = marriage.Id; } catch (InvalidOperationException ex) { return(RedirectToAction("Profile")); } } var relative = new UserRelative() { ToUserId = addRelativeModel.ToPersonId, FromUserId = addRelativeModel.FromPersonId, RelativeTypeId = addRelativeModel.RelativeTypeId, MarriageId = addRelativeModel.MarriageId }; try { await _db.UserRelatives.AddAsync(relative); await _db.SaveChangesAsync(); } catch (InvalidOperationException ex) { return(RedirectToAction("Profile")); } return(RedirectToAction("Profile", "User", new { id = addRelativeModel.ToPersonId })); }
public void modifyOccasion_PositiveTest1() { //Arrange var marriage = new Marriage("bride1", "groom1"); var marriage2 = new Marriage("bride2", "groom2"); //Act marriage.modifyOccasion(marriage2); //Assert Assert.AreEqual(marriage.Bride, "bride2"); Assert.AreEqual(marriage.Groom, "groom2"); }
public Marriage Add(Marriage marriage) { var id = _db.Query <int>( $"INSERT INTO {TableName}" + $" ({string.Join(",", GetNames().Select(x => $"{x}"))})" + $" VALUES ({string.Join(",", GetNames().Select(x => $"@{x}"))});" + $" SELECT LAST_INSERT_ID();", GetObj(marriage) ).Single(); marriage.id = id; return(marriage); }
private Marriage FindMarriageData(Marriage marriage) { var father = DB.Database.GetDatabase().FetchBy <Person>(sql => sql.Where(x => x.id.Equals(marriage.husband_id))).FirstOrDefault(); var mother = DB.Database.GetDatabase().FetchBy <Person>(sql => sql.Where(x => x.id.Equals(marriage.wife_id))).FirstOrDefault(); var sonIds = (DB.Database.GetDatabase().FetchBy <MarriageSon>(sql => sql.Where(x => x.marriage_id.Equals(marriage.id)))).Select(x => x.son_id).ToList(); var sons = DB.Database.GetDatabase().FetchBy <Person>(sql => sql.Where(x => sonIds.Contains((long)x.id))).ToList(); marriage.Husband = father; marriage.Wife = mother; marriage.Sons = sons; return(marriage); }
public async Task MarryAsync(EventContext e) { Locale locale = Locale.GetEntity(e.Channel.Id); if (e.message.MentionedUserIds.Count == 0) { await e.Channel.SendMessage(locale.GetString("miki_module_accounts_marry_error_no_mention")); return; } using (MikiContext context = new MikiContext()) { User mentionedPerson = await context.Users.FindAsync(e.message.MentionedUserIds.First().ToDbLong()); User currentUser = await context.Users.FindAsync(e.Author.Id.ToDbLong()); IDiscordUser user = await e.Guild.GetUserAsync(e.message.MentionedUserIds.First()); if (currentUser == null || mentionedPerson == null) { await Utils.ErrorEmbed(locale, "miki_module_accounts_marry_error_null").SendToChannel(e.Channel); return; } if (mentionedPerson.Id == currentUser.Id) { await Utils.ErrorEmbed(locale, locale.GetString("miki_module_accounts_marry_error_null")).SendToChannel(e.Channel); return; } if (await Marriage.ExistsAsync(context, mentionedPerson.Id, currentUser.Id)) { await Utils.ErrorEmbed(locale, locale.GetString("miki_module_accounts_marry_error_exists")).SendToChannel(e.Channel); return; } if (await Marriage.ProposeAsync(context, currentUser.Id, mentionedPerson.Id)) { await e.Channel.SendMessage( $"💍 " + locale.GetString("miki_module_accounts_marry_text", $"**{e.Author.Username}**", $"**{user.Username}**") + " 💍\n\n⛪ " + user.Username + " " + locale.GetString("miki_module_accounts_marry_text2") + $" ⛪\n\n✅ **>acceptmarriage [@{locale.GetString("miki_terms_mention")}]**\n❌ **>declinemarriage [@{locale.GetString("miki_terms_mention")}]**"); } } }
public Parser(string path) { people = new List <Person>(); XmlReaderSettings settings = new XmlReaderSettings(); settings.DtdProcessing = DtdProcessing.Parse; settings.ValidationType = ValidationType.DTD; settings.IgnoreWhitespace = true; using (XmlReader reader = XmlReader.Create(path, settings)) { Person currentPerson = null; Marriage currentMarriage = null; while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "Person": { currentPerson = new Person(reader.GetAttribute("name"), ParseDateString(reader.GetAttribute("birth_date"))); people.Add(currentPerson); break; } case "Marriage": { currentMarriage = new Marriage(reader.GetAttribute("spouse_name"), ParseDateString(reader.GetAttribute("marriage_date")), ParseDateString(reader.GetAttribute("divorce_date"))); currentPerson.Marriages.Add(currentMarriage); break; } case "Child": { var child = new Child(reader.GetAttribute("name")); currentMarriage.Childs.Add(child); break; } } } } } }
public ActionResult MarriageByPersonId(int personId) { var person = _personRepository.GetById(personId); if (person.is_male) { // MAN: var marriagesByHusband = _marriageRepository.GetAllByHusbandId(personId); if (marriagesByHusband.Any()) { if (marriagesByHusband.Count() == 1) { return(Marriage(marriagesByHusband.Single())); } else { return(RedirectToMessage("Error: more than one marriage", false)); } } else { var marriage = new Marriage { husband_id = personId }; return(Marriage(marriage)); } } else { // WOMAN: var marriagesByWife = _marriageRepository.GetAllByWifeId(personId); if (marriagesByWife.Any()) { if (marriagesByWife.Count() == 1) { return(Marriage(marriagesByWife.Single())); } else { return(RedirectToMessage("Error: more than one marriage", false)); } } else { var marriage = new Marriage { wife_id = personId }; return(Marriage(marriage)); } } }
private Marriage GetMarriageFromHusbandLine(string line, Person husband, Person wife) { var cells = line.Split(','); var marriage = new Marriage() { date = GetDate(cells[7]), place = cells[9], husband_id = husband?.id, wife_id = wife?.id }; marriage.id = (long)_db.Insert(marriage); return(marriage); }
public async Task AcceptMarriageAsync(EventContext e) { if (e.message.MentionedUserIds.Count == 0) { await e.Channel.SendMessage("Please mention the person you want to marry."); return; } using (var context = new MikiContext()) { Marriage marriage = await Marriage.GetProposalReceivedAsync(context, e.message.MentionedUserIds.First(), e.Author.Id); if (marriage != null) { User person1 = await context.Users.FindAsync(marriage.Id1); User person2 = await context.Users.FindAsync(marriage.Id2); if (person1.MarriageSlots < Marriage.GetMarriages(context, person1.Id).Count) { await e.Channel.SendMessage($"{person1.Name} do not have enough marriage slots, sorry :("); return; } if (person2.MarriageSlots < Marriage.GetMarriages(context, person2.Id).Count) { await e.Channel.SendMessage($"{person2.Name} does not have enough marriage slots, sorry :("); return; } marriage.AcceptProposal(context); Log.Message(marriage.Proposing.ToString()); await context.SaveChangesAsync(); await e.Channel.SendMessage($"❤️ Congratulations { person1.Name } and { person2.Name } ❤️"); } else { await e.Channel.SendMessage("This user hasn't proposed to you!"); return; } } }