private void SynchronizeFunctions(ParticipationAggregate aggregate, Participation participation) { var removedFunctions = GetRemovedFunctions(aggregate, participation); removedFunctions.ForEach(function => function.IsDeleted = true); var currentFunctions = GetCurrentFunctions(participation); var newFunctions = GetNewFunctions(aggregate, currentFunctions); currentFunctions.ForEach(currentFunction => { var function = aggregate.Functions.First(f => f.Id.Value == currentFunction.Id); currentFunction.Code = function.Code; currentFunction.Order = function.Order; var userFunction = currentFunction.UserFunctions.FirstOrDefault(uF => uF.UserId == function.UserId.Value); if (userFunction is null) { currentFunction.UserFunctions.Add(new UserFunction { UserId = function.UserId.Value, LastModificationDate = function.LastModificationDate }); } else { userFunction.LastModificationDate = function.LastModificationDate; } }); newFunctions.ForEach(function => participation.Functions.Add(function)); }
public IActionResult YesActivity(int actId) { Actvty thisActivity = dbContext.Activities.FirstOrDefault(a => a.ActvtyId == actId); User usersActivities = dbContext.Users .Include(a => a.AttendedActs) .ThenInclude(e => e.Activity) .ToList().FirstOrDefault(u => u.UserId == HttpContext.Session.GetInt32("UserId")); bool canAttend = true; foreach (var a in usersActivities.AttendedActs) { if (a.Activity.ActivityDate.Date == thisActivity.ActivityDate.Date) { canAttend = false; Console.WriteLine("This user cannot attend activity: " + thisActivity.Title); } } if (canAttend) { Participation participation = new Participation(); participation.UserId = (int)HttpContext.Session.GetInt32("UserId"); participation.ActivityId = actId; dbContext.Participations.Add(participation); dbContext.SaveChanges(); } return(RedirectToAction("Home")); }
public static bool AddParticipation(GameTable table, string curUser) { if (table.IsFull()) { return(false); } Participation newParticipation; if (table.Participations.Count % 2 == 1) { User actualUser = UserRepository.Instance.Get() .First(user => user.Value.Nickname == curUser).Value; newParticipation = new Participation(actualUser) { Partner = table.Participations.Last().Participant }; table.Participations.Last().Partner = actualUser; } else { newParticipation = new Participation(UserRepository.Instance.Get().First(user => user.Value.Nickname == curUser).Value); } table.PlayerFieldAreas.Find(area => area.Identifier == table.Participations.Count + 1).Participation = newParticipation; table.Participations.Add(newParticipation); return(true); }
public async Task Skipping(int?eventId, int?personId = null) { await LoadContextAsync(null, eventId); if (Event != null && ((Membership?.Manager ?? false) || personId == null)) { Participation participation = Event?.Participation.FirstOrDefault(x => x.PersonId == (personId ?? Me.Id)); if (participation?.Participate ?? true) { if (participation == default(Participation)) { participation = new Participation() { PersonId = personId ?? Me.Id, ByPersonId = Me.Id, EventId = Event.Id, Participate = false, Date = DateTime.Now }; await participationRepo.AddParticipationAsync(participation); } else { participation.ByPersonId = Me.Id; participation.Participate = false; participation.Date = DateTime.Now; await participationRepo.SaveParticipationAsync(participation); } await mailService.SendParticipatonMailAsync(participation); } } }
public async Task <IActionResult> Post(string idQuiz, [FromBody] Participation p) { p.Quiz.Id = new ObjectId(idQuiz); await participationDao.Create(p); return(new CreatedResult($"/quiz/{idQuiz}/participation/{p.Id}", p)); }
/// <summary> /// /// </summary> /// <param name="p"></param> /// <returns></returns> public List <Participation> getListeParticipation(int id_liste) { String sql = "SELECT * FROM \"participations\" " + "WHERE id_liste = " + id_liste + ";"; try { DataTable dt = conn.getConnection(sql); List <Participation> listeRetour = new List <Participation>(); foreach (DataRow row in dt.Rows) { Participation participation = new Participation(); participation.id_participation = (int.Parse(row.ItemArray.GetValue(0).ToString())); participation.id_liste = (int.Parse(row.ItemArray.GetValue(1).ToString())); participation.id_personne = (int.Parse(row.ItemArray.GetValue(2).ToString())); participation.participation = (long.Parse(row.ItemArray.GetValue(3).ToString())); PersonneDAL persService = new PersonneDAL(); participation.personne = persService.getInfosPersonne(participation.id_personne); listeRetour.Add(participation); } return(listeRetour); } catch (Exception) { return(null); } }
public void UpdateParticipation(ParticipationModel p) { Participation p1 = db.Participations.Where(i => i.Project_ID == p.Project_ID && i.Employee_ID == p.Employee_ID).FirstOrDefault(); db.Entry(ToParticipation(p1, p)).State = EntityState.Modified; db.SaveChanges(); }
public async Task <IActionResult> Start(int?id, string vs) { if (id == null) { return(BadRequest()); } ApplicationUser user = await _userManager.GetUserAsync(User); var comp = await _context.Competitions.Include(x => x.Participations).FirstOrDefaultAsync(x => x.ID == id); if (comp.Participations.Any(y => y.User.Id == user.Id) && comp.Name != null) { return(Unauthorized()); } if (vs != null && vs != "" && comp.Name == null) { Participation p2 = new Participation(); p2.Competition = comp; p2.User = _context.Users.FirstOrDefault(x => x.Id == vs); comp.Participations.Add(p2); } Participation p = new Participation(); p.Competition = comp; p.User = user; comp.Participations.Add(p); _context.SaveChanges(); return(Ok()); }
protected override void ReadXmlBase(System.Xml.XmlReader reader) { base.ReadXmlBase(reader); Check.Assert(reader.LocalName == "language", "Expected LocalName is 'language' rather than " + reader.LocalName); this.language = new OpenEhr.RM.DataTypes.Text.CodePhrase(); this.language.ReadXml(reader); Check.Assert(reader.LocalName == "encoding", "Expected LocalName is 'encoding' rather than " + reader.LocalName); this.encoding = new OpenEhr.RM.DataTypes.Text.CodePhrase(); this.encoding.ReadXml(reader); Check.Assert(reader.LocalName == "subject", "Expected LocalName is 'subject' rather than " + reader.LocalName); string subjectType = RmXmlSerializer.ReadXsiType(reader); this.subject = RmFactory.PartyProxy(subjectType); this.subject.ReadXml(reader); if (reader.LocalName == "provider") { string providerType = RmXmlSerializer.ReadXsiType(reader); this.provider = RmFactory.PartyProxy(providerType); this.provider.ReadXml(reader); } if (reader.LocalName == "other_participations") { this.otherParticipations = new OpenEhr.AssumedTypes.List <Participation>(); do { Participation p = new Participation(); p.ReadXml(reader); this.otherParticipations.Add(p); } while (reader.LocalName == "other_participations"); } if (reader.LocalName == "work_flow_id") { string workFlowIdType = reader.GetAttribute("type", RmXmlSerializer.XsiNamespace); // CM: 06/09/10 when workFlowIdType is null or empty, it's type of OBJECT_REF if (string.IsNullOrEmpty(workFlowIdType)) { this.workflowId = new ObjectRef(); } else { this.workflowId = ObjectRef.GetObjectRefByType(workFlowIdType); } this.workflowId.ReadXml(reader); } }
public async Task <IActionResult> Edit(int id, [Bind("Date,ActiviteId,GroupeId,SalleId,Visible")] Participation participation) { if (id != participation.ActiviteId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(participation); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ParticipationExists(participation.ActiviteId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["ActiviteId"] = new SelectList(_context.Activites, "ActiviteId", "ActiviteId", participation.ActiviteId); ViewData["GroupeId"] = new SelectList(_context.Groupes, "GroupeId", "GroupeId", participation.GroupeId); ViewData["SalleId"] = new SelectList(_context.Lieux, "SalleId", "SalleId", participation.SalleId); return(View(participation)); }
public static List <Participation> Seed() { List <Participation> participations = new List <Participation>(); foreach (Project project in ProjectSeed.Seed()) { Project projectObject = project; foreach (Person person1 in PersonSeed.Seed()) { Participation participation = new Participation(Helper.ConcatGuid(project.Id, person1.Id)) //using concat of projectID and personID { PersonId = person1.Id, ProjectId = projectObject.Id, Active = true, Remark = "remark", MaxWorkingHoursPerWeek = 12, }; participations.Add(participation); } } return(participations); }
public async Task GetActiveParticipationsAsync_Should_Include_Project_And_Person() { //Arrange Project project = ProjectSeed.Seed().First(); Person person = PersonSeed.Seed().First(); Participation participation = new Participation() { ProjectId = project.Id, PersonId = person.Id, }; participationRepositoryMock.Object.Add(participation); roosterPlannerContextMock.Object.SaveChanges(); //Act List <Participation> participations = await participationRepositoryMock.Object.GetActiveParticipationsAsync(person.Id); //Assert foreach (Participation participation1 in participations) { Assert.NotNull(participation1.Project); Assert.NotNull(participation1.Person); } }
public async Task <ActionResult> ParticipateEvent(Participation model) { try { System.Diagnostics.Debug.WriteLine("HElllooooooooooo "); UserRegisterModel currentUser = (UserRegisterModel)Session["User"]; ParticipationId pid = new ParticipationId(); pid.CustomerId = currentUser.userId; pid.EventId = eventstattic.EventId; model.Id = pid; var participationJson = await Task.Run(() => JsonConvert.SerializeObject(model)); HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://localhost:8080/springboot-crud-rest/api/v1/events/"); var content = new StringContent(participationJson.ToString(), Encoding.UTF8, "application/json"); HttpResponseMessage response; response = client.PostAsync("subscribe", content).Result; return(RedirectToAction("DisplayClientEvents")); } catch (Exception) { ViewBag.eventp = eventstattic; return(View(model)); } }
/// <summary> /// Creates a Participation from a ViewModel. /// </summary> /// <param name="participationViewModel"></param> /// <returns></returns> public static Participation CreateParticipation(ParticipationViewModel participationViewModel) { if (participationViewModel == null) { return(null); } Participation participation = new Participation(participationViewModel.Id) { MaxWorkingHoursPerWeek = participationViewModel.MaxWorkingHoursPerWeek, Availabilities = participationViewModel.Availabilities, Remark = participationViewModel.Remark, Active = participationViewModel.Active, LastEditDate = participationViewModel.LastEditDate, LastEditBy = participationViewModel.LastEditBy, RowVersion = participationViewModel.RowVersion }; if (participationViewModel.Person != null) { participation.Person = PersonViewModel.CreatePerson(participationViewModel.Person); participation.PersonId = participationViewModel.Person.Id; } if (participationViewModel.Project == null) { return(participation); } participation.Project = ProjectDetailsViewModel.CreateProject(participationViewModel.Project); participation.ProjectId = participationViewModel.Project.Id; return(participation); }
public async Task <Participation> CreateRedeemParticipationToken(string tinyTokenId, string userId) { var token = await _db.ParticipationTokens .FirstOrDefaultAsync(s => s.TinyTokenId == tinyTokenId); if (token == null) { throw new NoMatchFoundException("Invalid Token"); } if (DateTime.Compare(token.ExpirationDate, DateTime.UtcNow) < 0) { throw new SecurityTokenExpiredException("Token is expired"); } var participation = new Participation() { ParticipationTokenId = token.Id, UserId = userId }; //Add new participation entry await _db.Participation.AddAsync(participation); //Get the token var participationToken = await _db.ParticipationTokens.FirstOrDefaultAsync(s => s.Id == token.Id); //Decrement remaining uses participationToken.UsesRemaining = participationToken.UsesRemaining - 1; await _db.SaveChangesAsync(); return(participation); }
public List <Participation> GetParticipations() { List <Participation> returnList = new List <Participation>(); SqlDataAccess sda = new SqlDataAccess(); sda.openConnection(Globals.ConnectionString); #region | SQL QUERY | string query = @"SELECT P.new_sourceofparticipationId ParticipationId ,P.new_name Name FROM new_sourceofparticipation P WITH (NOLOCK) WHERE P.StateCode = 0" ; #endregion DataTable dt = sda.getDataTable(query); if (dt != null && dt.Rows.Count > 0) { #region | GET PARTICIPATIONS | for (int i = 0; i < dt.Rows.Count; i++) { Participation _participation = new Participation(); _participation.ParticipationId = (Guid)dt.Rows[i]["ParticipationId"]; _participation.Name = dt.Rows[i]["Name"] != DBNull.Value ? dt.Rows[i]["Name"].ToString() : string.Empty; returnList.Add(_participation); } #endregion } return(returnList); }
public ChatWindowViewModel(Conversation conversation, IServiceRegistry serviceRegistry) : base(serviceRegistry) { if (!IsInDesignMode) { userRepository = ServiceRegistry.GetService <RepositoryManager>().GetRepository <User>(); participationRepository = (ParticipationRepository)ServiceRegistry.GetService <RepositoryManager>().GetRepository <Participation>(); clientService = ServiceRegistry.GetService <IClientService>(); Participation participation = participationRepository.GetParticipationByUserIdandConversationId(clientService.ClientUserId, conversation.Id); groupChat = new GroupChatModel(participation); contributionMessageFormatter = new ContributionMessageFormatter(clientService.ClientUserId, userRepository); userRepository.EntityAdded += OnUserChanged; userRepository.EntityUpdated += OnUserChanged; ServiceRegistry.GetService <RepositoryManager>().GetRepository <Conversation>().EntityUpdated += OnConversationUpdated; participationRepository.EntityUpdated += OnParticipationUpdated; AddUserCommand = new AddUserToConversationCommand(this); groupChat.Conversation = conversation; groupChat.Users = GetUsers(); UpdateConnectedUsersList(); groupChat.WindowTitle = userRepository.FindEntityById(clientService.ClientUserId).Username; groupChat.Title = GetChatTitle(); } }
public IActionResult JoinHappening(int hapId) { int?logged_id = HttpContext.Session.GetInt32("LoggedUser"); if (logged_id == null) { return(RedirectToAction("Index")); } if (dbContext.Participations.Any(p => p.ParticipantId == (int)logged_id && p.JoiningActivityId == hapId)) { return(RedirectToAction("Home")); } if (!dbContext.Happenings.Any(h => h.HappeningId == hapId)) { return(RedirectToAction("Home")); } Participation newP = new Participation(); newP.ParticipantId = (int)logged_id; newP.JoiningActivityId = hapId; dbContext.Participations.Add(newP); dbContext.SaveChanges(); return(RedirectToAction("Home")); }
/// <summary> /// Retourne l'ensemble des participations d'une personne aux listes pour un évènement donné /// </summary> /// <param name="p"></param> /// <param name="p_2"></param> /// <returns></returns> public List <Participation> getAllParticipations(int pId_personne, int pId_evt) { String sql = "SELECT pa.id_participation, l.id_liste, l.id_personne, pa.participation " + "from \"personnes\" pe, \"listeCadeaux\" l " + "LEFT OUTER JOIN \"participations\" pa " + "ON pa.id_liste = l.id_liste AND pa.id_personne = " + pId_personne + " " + "WHERE l.id_evenement = " + pId_evt + " AND pe.id_personne = l.id_personne AND pe.id_personne != " + pId_personne + " AND pa.id_participation is not null;"; try { DataTable dt = conn.getConnection(sql); List <Participation> listeRetour = new List <Participation>(); foreach (DataRow row in dt.Rows) { Participation participation = new Participation(); participation.id_participation = (int.Parse(row.ItemArray.GetValue(0).ToString())); participation.id_liste = (int.Parse(row.ItemArray.GetValue(1).ToString())); participation.id_personne = pId_personne; participation.participation = (long.Parse(row.ItemArray.GetValue(3).ToString())); PersonneDAL persService = new PersonneDAL(); participation.personne = persService.getInfosPersonne(participation.id_personne); listeRetour.Add(participation); } return(listeRetour); } catch (Exception) { return(null); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { int nIdCourse = Convert.ToInt32(Request.QueryString["Id"]); Course course = BLL_Course.getCourse(nIdCourse); Personne pers = (Personne)HttpContext.Current.Session["ID"]; Participation part = BLL_Participation.getUneParticipation(pers, course); if (course != null) { LBL_TITRE_VALUE.Text = course.Titre; LBL_DESCRIPTION_VALUE.Text = course.Description; LBL_VILLE_VALUE.Text = course.Ville; LBL_DATE_DEBUT_VALUE.Text = course.DateDebut.ToString(); LBL_DATE_FIN_VALUE.Text = course.DateFin.ToString(); } if (part == null) { BTN_ANNULER.Visible = false; BTN_PARTICIPER.Visible = true; } else { BTN_PARTICIPER.Visible = false; BTN_ANNULER.Visible = true; } } }
public void participate(Participation participation) { participation.GradeId = null; participation.Place = null; context.Participation.Add(participation); context.SaveChanges(); }
/// <inheritdoc/> public string ToDelimitedString() { CultureInfo culture = CultureInfo.CurrentCulture; return(string.Format( culture, StringHelper.StringFormatSequence(0, 23, Configuration.FieldSeparator), Id, ParticipationInstanceId?.ToDelimitedString(), ActionCode, ActionReason?.ToDelimitedString(), Participation?.ToDelimitedString(), ParticipationPerson != null ? string.Join(Configuration.FieldRepeatSeparator, ParticipationPerson.Select(x => x.ToDelimitedString())) : null, ParticipationPersonProviderType?.ToDelimitedString(), ParticipantOrganizationUnitType?.ToDelimitedString(), ParticipationOrganization != null ? string.Join(Configuration.FieldRepeatSeparator, ParticipationOrganization.Select(x => x.ToDelimitedString())) : null, ParticipantLocation != null ? string.Join(Configuration.FieldRepeatSeparator, ParticipantLocation.Select(x => x.ToDelimitedString())) : null, ParticipationDevice != null ? string.Join(Configuration.FieldRepeatSeparator, ParticipationDevice.Select(x => x.ToDelimitedString())) : null, ParticipationBeginDateTimeArrivalTime.HasValue ? ParticipationBeginDateTimeArrivalTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, ParticipationEndDateTimeDepartureTime.HasValue ? ParticipationEndDateTimeDepartureTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, ParticipationQualitativeDuration?.ToDelimitedString(), ParticipationAddress != null ? string.Join(Configuration.FieldRepeatSeparator, ParticipationAddress.Select(x => x.ToDelimitedString())) : null, ParticipantTelecommunicationAddress != null ? string.Join(Configuration.FieldRepeatSeparator, ParticipantTelecommunicationAddress.Select(x => x.ToDelimitedString())) : null, ParticipantDeviceIdentifier?.ToDelimitedString(), ParticipantDeviceManufactureDate.HasValue ? ParticipantDeviceManufactureDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, ParticipantDeviceExpiryDate.HasValue ? ParticipantDeviceExpiryDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, ParticipantDeviceLotNumber, ParticipantDeviceSerialNumber, ParticipantDeviceDonationIdentification?.ToDelimitedString(), ParticipationDeviceType?.ToDelimitedString() ).TrimEnd(Configuration.FieldSeparator.ToCharArray())); }
private void RechargerParticipation() { ParticipationsBLL partBLL = new ParticipationsBLL(); ListeIdeesCadeauxBLL listeBLL = new ListeIdeesCadeauxBLL(); ListeIdeesCadeaux liste = new ListeIdeesCadeaux(); Personne cadeauPour = new Personne(); Evenement evt = new Evenement(); Personne participationDe = new Personne(); participationDe.id_personne = int.Parse(Session["personneID"].ToString()); cadeauPour.id_personne = int.Parse(listeParticipantAyantListe.SelectedItem.Value.ToString()); evt.id_evenement = int.Parse(ViewState["evenementId"].ToString()); liste = listeBLL.getListeIdeesCadeaux(cadeauPour, evt); Participation participation = partBLL.getParticipation(liste, participationDe); if (participation != null) { lblValeurParticipationListe.Text = "Votre participation est de : " + participation.participation.ToString() + " €"; } else { lblValeurParticipationListe.Text = "Votre participation est de : 0 €"; } }
/// <summary> /// If a user unexpectedly disconnects whilst sending a message, clients will be unaware and continue seeing the user as /// typing a message. /// This procedure will go through conversations a client is in and forcefully tell other clients that the user has stopped /// typing. /// </summary> /// <remarks> /// This could have be done in the Client when a client senses that a user's <see cref="ConnectionStatus" /> has been /// modified. /// But I'd rather have it as a rule here where a client can use their same /// <see cref="EntityNotification{UserNotification}" /> logic. /// </remarks> /// <param name="userId">The user that disconnected.</param> /// <param name="clientManager">Holds the connected clients.</param> /// <param name="repositoryManager">Holds the repositories in the system.</param> private static void SendUserTypingNotification(int userId, IClientManager clientManager, RepositoryManager repositoryManager) { var participationRepository = (ParticipationRepository)repositoryManager.GetRepository <Participation>(); var userRepository = (UserRepository)repositoryManager.GetRepository <User>(); IEnumerable <int> conversationIdsUserIsIn = participationRepository.GetAllConversationIdsByUserId(userId); foreach (int conversationId in conversationIdsUserIsIn) { Participation participation = participationRepository.GetParticipationByUserIdandConversationId(userId, conversationId); var userTyping = new UserTyping(false, participation.Id); var userTypingNotification = new EntityNotification <UserTyping>(userTyping, NotificationType.Create); List <Participation> participationsForConversation = participationRepository.GetParticipationsByConversationId(conversationId); List <int> userIdsInConversation = participationsForConversation.Select(x => x.UserId).ToList(); foreach (int userIdInConversation in userIdsInConversation) { User user = userRepository.FindEntityById(userIdInConversation); if (user.ConnectionStatus.UserConnectionStatus != ConnectionStatus.Status.Disconnected) { clientManager.SendMessageToClient(userTypingNotification, userIdInConversation); } } } }
/// <summary> /// Valide la participation à un événement /// </summary> public Participation Validate(string eventId, Participation p) { var participation = _unitOfWork.ParticipantRepository.Find(pa => pa.EventId == eventId && pa.Id == p.Id && pa.UID == p.UID); if (participation == null) { throw new ParticipationNotFoundException("Cette participation n'existe pas"); } participation.Gender = p.Gender; participation.Lastname = p.Lastname; participation.Firstname = p.Firstname; //participation.Email = p.Email; participation.Phone = p.Phone; participation.Guest = p.Guest; participation.ValidationDate = DateTime.Now; _unitOfWork.SaveChanges(); //Envoi du mail d'invitation MailMessage mailMessage = new MailMessage(); mailMessage.To.Add(participation.Email); Tools.Email.Send(mailMessage, "Invitation", participation); return(participation); }
[HttpGet("join/{actId}")] // JOIN AN ACTIVITY public IActionResult JoinActivity(int actId) { int? LoggedInUser = HttpContext.Session.GetInt32("UserId"); Activity oneActivity = dbContext.Activities.FirstOrDefault(e => e.CoordinatorId == actId); User thisUser = dbContext.Users.FirstOrDefault(u => u.UserId == (int)LoggedInUser); Participation newPart = new Participation(); List <Participation> yourActivities = dbContext.Participations .Where(p => p.UserId == (int)LoggedInUser) .Include(p => p.Activity) .ToList(); foreach (var part in yourActivities) { if (part.Activity.StartDate == oneActivity.StartDate) { TempData["Overlapping"] = "You're already going to an activity!"; return(Redirect($"/activity/{actId}")); } } newPart.Activity = oneActivity; newPart.User = thisUser; newPart.UserId = (int)LoggedInUser; newPart.ActivityId = actId; dbContext.Participations.Add(newPart); dbContext.SaveChanges(); return(Redirect("/dashboard")); }
public async Task <IActionResult> PutParticipation(int id, Participation participation) { if (id != participation.UserId) { return(BadRequest()); } _context.Entry(participation).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ParticipationExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <Participation> > PostParticipation(Participation participation) { _context.participations.Add(participation); await _context.SaveChangesAsync(); return(CreatedAtAction("GetParticipation", new { id = participation.Id }, participation)); }
public async Task <IActionResult> Create([FromBody] Participation participation) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!await _context.Particuliers.AnyAsync(x => x.Id == participation.ParticulierId) || !await _context.Stickers.AnyAsync(x => x.Id == participation.StickerId)) { return(NotFound()); } if (await _context.Participations.AnyAsync(x => x.ParticulierId == participation.ParticulierId && x.StickerId == participation.StickerId)) { return(Conflict()); } var validParticipation = new Participation { ParticulierId = participation.ParticulierId, StickerId = participation.StickerId }; await _context.Participations.AddAsync(validParticipation); await _context.SaveChangesAsync(); return(Ok()); }
/// <summary> /// Creates a ViewModel from a Participation. /// </summary> public static ParticipationViewModel CreateVm(Participation participation) { if (participation == null) { return(null); } ParticipationViewModel vm = new ParticipationViewModel { Id = participation.Id, MaxWorkingHoursPerWeek = participation.MaxWorkingHoursPerWeek, Availabilities = participation.Availabilities, Remark = participation.Remark, Active = participation.Active, LastEditDate = participation.LastEditDate, LastEditBy = participation.LastEditBy, RowVersion = participation.RowVersion }; if (participation.Person != null) { vm.Person = PersonViewModel.CreateVmFromPerson(participation.Person); } if (participation.Project != null) { vm.Project = ProjectDetailsViewModel.CreateVm(participation.Project); } return(vm); }
public IParticipation GetLatest(string stockCode) { string url = string.Format(@"http://data.eastmoney.com/stockcomment/{0}.html", stockCode); string html = PageReader.GetPageSource(url); if (string.IsNullOrEmpty(html)) return null; var htmlDocument = new HtmlDocument(); htmlDocument.LoadHtml(html); var htmlNodes = htmlDocument.DocumentNode; Participation partObj = new Participation(); //数据日期:2015-12-25 string xpathTime = "/html[1]/body[1]/div[2]/div[2]/div[2]/div[2]/div[1]/div[1]/div[5]/table[1]/tr[1]/td[3]/span[1]"; var strTime = Regex.Match(htmlNodes.SelectSingleNode(xpathTime).InnerText, @"\d{4}-\d{2}-\d{2}").Value; /// 日期与时间 DateTime Time = DateTime.MaxValue; if (DateTime.TryParse(strTime, out Time)) partObj.Time = Time.Date; //机构参与度为41.08%,属于完全控盘 string xpathValue = "/html[1]/body[1]/div[2]/div[2]/div[2]/div[2]/div[1]/div[1]/div[5]/table[1]/tr[1]/td[2]/span[1]"; var strValue = Regex.Match(htmlNodes.SelectSingleNode(xpathValue).InnerText, @"\d+.\d+").Value; /// 机构参与度(%) : 45 double Value = 0; if (double.TryParse(strValue, out Value)) partObj.Value = Value; //主力净流入-398.90万,超大单流入7166.17万 //-398.90 string xpathMainForceInflows = "/html[1]/body[1]/div[2]/div[2]/div[2]/div[2]/div[1]/div[1]/div[5]/table[1]/tr[2]/td[2]/span[1]/span[1]"; var strMainForceInflows = htmlNodes.SelectSingleNode(xpathMainForceInflows).InnerText; /// 主力净流入 double MainForceInflows = 0; if (double.TryParse(strMainForceInflows, out MainForceInflows)) partObj.MainForceInflows = MainForceInflows; //7166.17 string xpathSuperLargeInflows = "/html[1]/body[1]/div[2]/div[2]/div[2]/div[2]/div[1]/div[1]/div[5]/table[1]/tr[2]/td[2]/span[1]/span[2]"; var strSuperLargeInflows = htmlNodes.SelectSingleNode(xpathSuperLargeInflows).InnerText; /// 超大单流入 double SuperLargeInflows = 0; if (double.TryParse(strSuperLargeInflows, out SuperLargeInflows)) partObj.SuperLargeInflows = SuperLargeInflows; //最近1日主力成本18.29元,最近20日主力成本17.56元 string xpathCostPrice = "/html[1]/body[1]/div[2]/div[2]/div[2]/div[2]/div[1]/div[1]/div[5]/table[1]/tr[3]/td[2]/span[1]"; var strCostPrice = htmlNodes.SelectSingleNode(xpathCostPrice).InnerText; var matchs = Regex.Matches(strCostPrice, @"\d+.\d+"); /// 最近1日主力成本 double CostPrice1Day = 0; if (matchs != null && double.TryParse(matchs.Count > 0 ? matchs[0].Value : "", out CostPrice1Day)) partObj.CostPrice1Day = CostPrice1Day; /// 最近20日主力成本 double CostPrice20Day = 0; if (matchs != null && double.TryParse(matchs.Count > 1 ? matchs[1].Value : "", out CostPrice20Day)) partObj.CostPrice20Day = CostPrice20Day; return partObj; }
public static Participation CreateParticipation(int ID, global::System.Guid guid, string createdBy, global::System.DateTime createdAt, bool isSuccessfulSaturday, bool isSuccessfulSunday, byte[] timestamp, bool isCertificatePrinted, int occasionID, int personID) { Participation participation = new Participation(); participation.ID = ID; participation.Guid = guid; participation.CreatedBy = createdBy; participation.CreatedAt = createdAt; participation.IsSuccessfulSaturday = isSuccessfulSaturday; participation.IsSuccessfulSunday = isSuccessfulSunday; participation.Timestamp = timestamp; participation.IsCertificatePrinted = isCertificatePrinted; participation.OccasionID = occasionID; participation.PersonID = personID; return participation; }
public void AddToParticipations(Participation participation) { base.AddObject("Participations", participation); }