Skip to content
This repository was archived by the owner on Jun 22, 2021. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
2dd60d3
update to Angular 7
root-server Dec 24, 2018
7b73e65
sessions, moment, styles.scss
root-server Dec 25, 2018
9b9eb8b
Merge branch 'master' into meetup
root-server Dec 25, 2018
9887bca
create meetup
root-server Dec 26, 2018
106eda0
material icons font self hosting
root-server Jan 22, 2019
2bf069f
timepad like page
root-server Feb 6, 2019
70a37be
create speaker via dialog
root-server Feb 6, 2019
38e3e6f
menu refactoring
root-server Feb 6, 2019
776c352
extract session into separate component
root-server Feb 6, 2019
d04ed8e
create talk via dialog
root-server Feb 7, 2019
613fd33
remove obsolete fields from meetup: Date and TalkIds
root-server Feb 16, 2019
f09d1cd
working with friends in timepad page
root-server Feb 24, 2019
2710862
fetch readonly meetupId
root-server Feb 24, 2019
76f96ea
working with meetup name
root-server Feb 24, 2019
105bd05
set venue to meetup
root-server Mar 10, 2019
4cc9c64
edit and create venue
root-server Mar 10, 2019
56e903c
communityId in meetup
root-server Mar 10, 2019
d65a206
timepad editor
root-server Mar 10, 2019
7795524
create meetup
root-server Mar 21, 2019
2ffbc6a
исправлены замечания после альфа тестирования
root-server Apr 6, 2019
ae89771
исправлены замечания после альфа тестирования
root-server Apr 6, 2019
5602a48
исправлены замечания после альфа тестирования
root-server Apr 6, 2019
54302df
исправлены замечания после альфа тестирования
root-server Apr 6, 2019
9c269bb
исправлены замечания после альфа тестирования
root-server Apr 16, 2019
4558b7a
исправлены замечания после альфа тестирования
root-server Apr 16, 2019
3ad47f5
исправлены замечания после альфа тестирования
root-server Apr 16, 2019
41bf7fd
исправлены замечания после альфа тестирования
root-server Apr 16, 2019
c2050f5
исправлены замечания после альфа тестирования
root-server Apr 16, 2019
1dc7660
исправлены замечания после альфа тестирования
root-server Apr 16, 2019
824f832
добавил два города: Нижний Новгород и Уфа
root-server May 28, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions DevActivator.Common.BL/Config/CityTimeZone.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using DevActivator.Common.BL.Enums;

namespace DevActivator.Common.BL.Config
{
public static class CityTimeZone
{
public static TimeSpan GetTimeZone(this City city) => TimeZoneDic[city];

private static readonly Dictionary<City, TimeSpan> TimeZoneDic = new Dictionary<City, TimeSpan>
{
{City.Spb, TimeSpan.FromHours(3)},
{City.Msk, TimeSpan.FromHours(3)},
{City.Sar, TimeSpan.FromHours(4)},
{City.Kry, TimeSpan.FromHours(7)},
{City.Kzn, TimeSpan.FromHours(3)},
{City.Nsk, TimeSpan.FromHours(7)},
{City.Nnv, TimeSpan.FromHours(3)},
{City.Ufa, TimeSpan.FromHours(5)},
};
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace DevActivator.Meetups.BL.Enums
namespace DevActivator.Common.BL.Enums
{
public enum City
{
Expand All @@ -18,6 +18,12 @@ public enum City
Kzn = 5,

/// <summary> Новосибирск </summary>
Nsk = 6
Nsk = 6,

/// <summary> Нижний Новгород </summary>
Nnv = 7,

/// <summary> Уфа </summary>
Ufa = 8
}
}
11 changes: 11 additions & 0 deletions DevActivator.Common.BL/Extensions/StringExtension.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
using System;
using DevActivator.Common.BL.Enums;

namespace DevActivator.Common.BL.Extensions
{
public static class StringExtension
{
public static City GetCity(this string id)
=> (City) Enum.Parse(typeof(City), id.Substring(0, 3), true);
}
}
6 changes: 0 additions & 6 deletions DevActivator.Meetups.BL/Entities/Meetup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,11 @@ public class Meetup : IFlatEntity

public string CommunityId { get; set; }

/// <summary> Obsolete </summary>
public string Date { get; set; }

[XmlArrayItem("FriendId")]
public List<string> FriendIds { get; set; }

public string VenueId { get; set; }

public List<Session> Sessions { get; set; }

[XmlArrayItem("TalkId")]
public List<string> TalkIds { get; set; }
}
}
4 changes: 3 additions & 1 deletion DevActivator.Meetups.BL/Enums/Community.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ public enum Community
SarDotNet = 3,
KryDotNet = 4,
KznDotNet = 5,
NskDotNet = 6
NskDotNet = 6,
NnvDotNet = 7,
UfaDotNet = 8
}
}
28 changes: 21 additions & 7 deletions DevActivator.Meetups.BL/Extensions/MeetupExtensions.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
using System;
using System.Globalization;
using System.Linq;
using DevActivator.Common.BL.Config;
using DevActivator.Common.BL.Extensions;
using DevActivator.Meetups.BL.Entities;
using DevActivator.Meetups.BL.Enums;
using DevActivator.Meetups.BL.Models;
Expand Down Expand Up @@ -44,11 +47,12 @@ public static MeetupVm ToVm(this Meetup meetup)
CommunityId = meetup.CommunityId.GetCommunity(),
FriendIds = meetup.FriendIds.Select(x => new FriendReference {FriendId = x}).ToList(),
VenueId = meetup.VenueId,
Sessions = meetup.Sessions.Select(x => new Session
Sessions = meetup.Sessions.Select(x => new SessionVm
{
TalkId = x.TalkId,
StartTime = x.StartTime,
EndTime = x.EndTime
// todo: extract as helper method
StartTime = x.StartTime.Add(meetup.VenueId.GetCity().GetTimeZone()).ToString("yyyy-MM-ddTHH:mm:ss"),
EndTime = x.EndTime.Add(meetup.VenueId.GetCity().GetTimeZone()).ToString("yyyy-MM-ddTHH:mm:ss")
}).ToList(),
};

Expand All @@ -63,13 +67,23 @@ public static Meetup Extend(this Meetup original, MeetupVm meetup)
Sessions = meetup.Sessions.Select(x => new Session
{
TalkId = x.TalkId,
StartTime = x.StartTime,
EndTime = x.EndTime
// todo: extract as helper method
StartTime = DateTime.ParseExact(
$"{x.StartTime}Z",
"yyyy-MM-ddTHH:mm:ssZ",
CultureInfo.InvariantCulture,
DateTimeStyles.AdjustToUniversal)
.Subtract(meetup.VenueId.GetCity().GetTimeZone()),
EndTime = DateTime.ParseExact(
$"{x.EndTime}Z",
"yyyy-MM-ddTHH:mm:ssZ",
CultureInfo.InvariantCulture,
DateTimeStyles.AdjustToUniversal)
.Subtract(meetup.VenueId.GetCity().GetTimeZone())
}).ToList(),
TalkIds = meetup.Sessions.Select(x => x.TalkId).ToList(),
};

private static Community GetCommunity(this string id)
public static Community GetCommunity(this string id)
=> (Community) Enum.Parse(typeof(Community), id, true);
}
}
5 changes: 1 addition & 4 deletions DevActivator.Meetups.BL/Extensions/VenueExtensions.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System;
using DevActivator.Common.BL.Extensions;
using DevActivator.Meetups.BL.Entities;
using DevActivator.Meetups.BL.Enums;
using DevActivator.Meetups.BL.Models;

namespace DevActivator.Meetups.BL.Extensions
Expand Down Expand Up @@ -47,8 +47,5 @@ public static Venue Extend(this Venue original, VenueVm venue)
Address = venue.Address,
MapUrl = venue.MapUrl
};

private static City GetCity(this string id)
=> (City) Enum.Parse(typeof(City), id.Substring(0, 3), true);
}
}
2 changes: 1 addition & 1 deletion DevActivator.Meetups.BL/Helpers/ShellHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public static string Bash(this string command)
result = process.StandardOutput.ReadToEnd();
process.WaitForExit();
}
catch (Exception _)
catch (Exception)
{
result = "bash error";
}
Expand Down
2 changes: 1 addition & 1 deletion DevActivator.Meetups.BL/Models/MeetupVm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ public class MeetupVm

public string VenueId { get; set; }

public List<Session> Sessions { get; set; }
public List<SessionVm> Sessions { get; set; }
}
}
11 changes: 11 additions & 0 deletions DevActivator.Meetups.BL/Models/SessionVm.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
namespace DevActivator.Meetups.BL.Models
{
public class SessionVm
{
public string TalkId { get; set; }

public string StartTime { get; set; }

public string EndTime { get; set; }
}
}
2 changes: 1 addition & 1 deletion DevActivator.Meetups.BL/Models/VenueVm.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using DevActivator.Meetups.BL.Enums;
using DevActivator.Common.BL.Enums;

namespace DevActivator.Meetups.BL.Models
{
Expand Down
2 changes: 1 addition & 1 deletion DevActivator.Meetups.BL/Services/MeetupService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public async Task<List<AutocompleteRow>> GetAllMeetupsAsync()
public async Task<MeetupVm> GetMeetupAsync(string meetupId)
{
var meetup = await _meetupProvider.GetMeetupOrDefaultAsync(meetupId).ConfigureAwait(false);
return meetup.ToVm();
return meetup?.ToVm();
}

public async Task<MeetupVm> AddMeetupAsync(MeetupVm meetup)
Expand Down
20 changes: 0 additions & 20 deletions DevActivator.Meetups.Tests/ProviderTests/MeetupProviderTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,6 @@ namespace DevActivator.Meetups.Tests.ProviderTests
{
public class MeetupProviderTests
{
[Fact]
public async Task MeetupDateDeserializationSucceed()
{
// prepare
var meetup = await GetTestMeetupAsync();

// test
Assert.NotEmpty(meetup.Date);
}

[Fact]
public async Task MeetupFriendIdsDeserializationSucceed()
{
Expand All @@ -39,16 +29,6 @@ public async Task MeetupSessionsDeserializationSucceed()
Assert.Equal(2, talk.Sessions.Count);
}

[Fact]
public async Task MeetupTalkIdsDeserializationSucceed()
{
// prepare
var talk = await GetTestMeetupAsync();

// test
Assert.Equal(2, talk.TalkIds.Count);
}

private Task<Meetup> GetTestMeetupAsync(string testMeetupId = "SpbDotNet-30")
{
var settings = new Settings {AuditRepoDirectory = "/Users/alex-mbp/repos/Audit"};
Expand Down
5 changes: 5 additions & 0 deletions DevActivator/ClientApp/app/app.component.css
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,9 @@
.mat-drawer-container {
height: 100%;
display: block;
}

.router-container {
/* 64px - toolbar */
height: calc(100% - 64px);
}
4 changes: 3 additions & 1 deletion DevActivator/ClientApp/app/app.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

<mtp-toolbar [drawer]="drawer"></mtp-toolbar>

<router-outlet></router-outlet>
<div class="router-container">
<router-outlet></router-outlet>
</div>

</mat-drawer-container>
3 changes: 3 additions & 0 deletions DevActivator/ClientApp/app/app.shared.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { MeetupEditorModule } from "@dotnetru/pages/meetup-editor";
import { SearchPageModule } from "@dotnetru/pages/search";
import { SpeakerEditorModule } from "@dotnetru/pages/speaker-editor";
import { TalkEditorModule } from "@dotnetru/pages/talk-editor";
import { TimepadModule } from "@dotnetru/pages/timepad";
import { VenueEditorModule } from "@dotnetru/pages/venue-editor";
import { AutocompleteModule } from "@dotnetru/shared/autocomplete";
import { SpeakerListModule } from "@dotnetru/speaker-list";
Expand Down Expand Up @@ -42,6 +43,8 @@ import { SearchPageComponent } from "./pages/search/search.component";
TalkEditorModule,
VenueEditorModule,

TimepadModule,

SearchPageModule,

RouterModule.forRoot([
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
[data]="friends"
[iconName]="iconName"
[iconText]="iconText"
[clearOnSelect]="clearOnSelect"
(selected)="onSelected($event)"
(iconClicked)="onIconClicked()"></mtp-autocomplete>
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export class FriendListComponent implements OnInit, OnDestroy {
@Input() public title: string = "Поиск друга";
@Input() public iconName: string = "add";
@Input() public iconText: string = "Добавить";
@Input() public clearOnSelect: boolean = false;

@Input() public set friendLink(value: { friendId?: string }) {
if (value && value.friendId) {
Expand All @@ -33,7 +34,7 @@ export class FriendListComponent implements OnInit, OnDestroy {

@ViewChild("autocomplete") public autocomplete!: AutocompleteComponent;

@Output() public readonly selected: EventEmitter<IAutocompleteRow> = new EventEmitter<IAutocompleteRow>();
@Output() public readonly selected: EventEmitter<string> = new EventEmitter<string>();
@Output() public readonly iconClicked: EventEmitter<void> = new EventEmitter<void>();

public friends: IAutocompleteRow[] = [];
Expand Down Expand Up @@ -75,7 +76,7 @@ export class FriendListComponent implements OnInit, OnDestroy {
}

public onSelected(row: IAutocompleteRow): void {
this.selected.emit(row);
this.selected.emit(row.id);
}

public onIconClicked(): void {
Expand Down
1 change: 1 addition & 0 deletions DevActivator/ClientApp/app/components/navmenu/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { NavMenuModule } from "./navmenu.module";
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
:host {
display: flex;
flex-direction: column;
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,46 @@
<ul>
<li [routerLinkActive]="['link-active']">
<a [routerLink]="['/home']">
Home
</a>
</li>
<li [routerLinkActive]="['link-active']">
<a [routerLink]="['/speaker-list']">
Speaker list
</a>
</li>
</ul>
<button mat-button
[matMenuTriggerFor]="createEntityMenu">
<mat-icon>fiber_new</mat-icon>
<span>Создать</span>
</button>

<a mat-button
[routerLink]="['/search']">
<mat-icon>search</mat-icon>
<span>Поиск</span>
</a>

<a mat-button
[routerLink]="['/timepad/SpbDotNet-30']">
<mat-icon>developer_mode</mat-icon>
<span>В разработке</span>
</a>

<mat-menu #createEntityMenu="matMenu">
<a mat-menu-item
[routerLink]="['/timepad']">
<img class="mat-icon"
src="/icons/meetup.svg">
<span>Встречу</span>
</a>
<a mat-menu-item
[routerLink]="['/speaker-creator']">
<mat-icon>person</mat-icon>
<span>Докладчика</span>
</a>
<a mat-menu-item
[routerLink]="['/talk-creator']">
<mat-icon>speaker_notes</mat-icon>
<span>Доклад</span>
</a>
<a mat-menu-item
[routerLink]="['/venue-creator']">
<mat-icon>account_balance</mat-icon>
<span>Площадку</span>
</a>
<a mat-menu-item
[routerLink]="['/friend-creator']">
<mat-icon>loyalty</mat-icon>
<span>Друга</span>
</a>
</mat-menu>
Loading