fcatae / arda Goto Github PK
View Code? Open in Web Editor NEWArda is an open source tool designed to manage team workloads.
Arda is an open source tool designed to manage team workloads.
When run the app in WebApp using DOTNET RUN, it fails with this error:
Project Arda.Common (.NETCoreApp,Version=v1.1) was previously compiled. Skipping compilation.
Project Arda.Main (.NETCoreApp,Version=v1.1) was previously compiled. Skipping compilation.
Error: assembly specified in the dependencies manifest was not found --
package: 'Microsoft.Data.OData', version: '5.6.4', path: 'lib/portable-net45+wp8+win8+wpa/es/Microsoft.Data.OData.resources.dll'
This is different of running DOTNET PUBLISH and XCOPY.
ConnectToRemoteService passes the user parameter by header. Since Swagger does not see that as a parameter, it becomes not-documented for the clients.
Eg.
Use a service locator in the network
Create a simple process to generate all the containers in order to simplify the migration to VS2017
We don't use it - let's remove it.
It will also make it easier for testing... :)
It returns the user unique name, but not the user name.
var response = (from a in _context.Appointments
join w in _context.WorkloadBacklogs on a.AppointmentWorkload.WBID equals w.WBID
orderby a.AppointmentDate descending
select new AppointmentViewModel
{
_AppointmentID = a.AppointmentID,
_AppointmentWorkloadWBID = a.AppointmentWorkload.WBID,
_WorkloadTitle = w.WBTitle,
_AppointmentDate = a.AppointmentDate,
_AppointmentHoursDispensed = a.AppointmentHoursDispensed,
_AppointmentUserUniqueName = a.AppointmentUser.UniqueName
}).ToList();
If Arda.Main doesn't have direct access to Redis, the picture is NOT displayed.
This may be related to #16 too. If we configure the Redis server in a separate network, then Arda.Main contacts Redis to retrieve the user picture.
Hello again,
Crawling through the code I found a considerable number of exceptions handled in a very generic way like
try{
//...
}
catch (Exception) { return null; }
In my experience, that can be a big problem to troubleshoot in case of a serious problem.
So, I have two suggestions to soften this problem:
Is this viable?
The problem is this code.
var filesList = new List<File>();
foreach (var f in workload.WBFilesList)
{
filesList.Add(new File()
{
FileID = f.Item1,
FileLink = f.Item2,
FileName = f.Item3,
FileDescription = string.Empty,
});
}
Create a storageFactory to virtualize the concept of file and folders
This is a common dependency for all the projects. It means that each microservice depends on the altest version of this library.
Solution:
Azure AD requires specific configurations (ReplyURL and HTTPS) very challenging for the initial deployment -- see #18. We need a simpler mechanism for Auth to start with. Later the user may configure AzureAD and use the proper credentials.
When Startup.Auth.cs try to read secrets in order to get informations about authentication, the application crashes.
There is a working branch "VS17" with some changes
After downgrading to 1.0.3 LTS, nothing related to crypto is working. For example:
However, it is possible to make standard HTTP calls and queries against SQL 2016 (on premise).
var response = (from a in _context.Appointments
join w in _context.WorkloadBacklogs on a.AppointmentWorkload.WBID equals w.WBID
orderby a.AppointmentDate descending
select new AppointmentViewModel
{
_AppointmentID = a.AppointmentID,
_AppointmentWorkloadWBID = a.AppointmentWorkload.WBID,
_WorkloadTitle = w.WBTitle,
_AppointmentDate = a.AppointmentDate,
_AppointmentHoursDispensed = a.AppointmentHoursDispensed,
_AppointmentUserUniqueName = a.AppointmentUser.UniqueName
}).ToList();
Use message communication rather than API calls. It could leverage protobuf.
It complains about the library:
xunit/xunit#1080
"Microsoft.DotNet.InternalAbstractions": "1.0.0"
Adding this line fix the issue.
For each request, the getuserphoto is called several times (1k)
Use the standard "1.0.0-preview2-003156", which corresponds to .NET Core 1.0.3 SDK.
Receiving error HTTP 500 during the call to /auth/response.
The root cause is that the account has an expired password.
The correct approach was to handle the error, clean up the cookie and force a re-authentication.
File attachment doesn't works for existing or new workloads / backlogs.
The behavior omits the detailed data, but it is not clear from the API.
var response = (from a in _context.Appointments
join w in _context.WorkloadBacklogs on a.AppointmentWorkload.WBID equals w.WBID
orderby a.AppointmentDate descending
select new AppointmentViewModel
{
_AppointmentID = a.AppointmentID,
_AppointmentWorkloadWBID = a.AppointmentWorkload.WBID,
_WorkloadTitle = w.WBTitle,
_AppointmentDate = a.AppointmentDate,
_AppointmentHoursDispensed = a.AppointmentHoursDispensed,
_AppointmentUserUniqueName = a.AppointmentUser.UniqueName
}).ToList();
Query repeating many times for a single API call:
Microsoft.EntityFrameworkCore.Storage.IRelationalCommandBuilderFactory[1]
Executed DbCommand (166ms) [Parameters=[@__w__WorkloadID_0='?'], CommandType='Text', CommandTimeout='30']
SELECT [a].[AppointmentHoursDispensed]
FROM [Appointments] AS [a]
WHERE [a].[AppointmentWorkloadWBID] = @__w__WorkloadID_0
EditWorkload updates the comment, date and hours logged. However, it can't change the user or the workload either.
// Update informations of object
appointmentToBeUpdated.AppointmentComment = appointment._AppointmentComment;
appointmentToBeUpdated.AppointmentDate = appointment._AppointmentDate;
appointmentToBeUpdated.AppointmentHoursDispensed = appointment._AppointmentHoursDispensed;
appointmentToBeUpdated.AppointmentTE = appointment._AppointmentTE;
//appointmentToBeUpdated.AppointmentUser = user;
//appointmentToBeUpdated.AppointmentWorkload = workload;
//appointmentToBeUpdated.AppointmentWorkloadWBID = appointment._AppointmentWorkloadWBID;
We should improve this API to make it clear.
It fails with this error:
Unhandled Exception: System.AggregateException: One or more errors occurred. (Error -4092 EACCES permission denied) ---> Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -4092 EACCES permission denied
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.tcp_bind(UvTcpHandle handle, SockAddr& addr, Int32 flags)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvTcpHandle.Bind(ServerAddress address)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListener.CreateListenSocket()
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Listener.<StartAsync>b__8_0(Object state)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelEngine.CreateServer(ServerAddress address)
at Microsoft.AspNetCore.Server.Kestrel.KestrelServer.Start[TContext](IHttpApplication`1 application)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.Start()
at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(IWebHost host, CancellationToken token, String shutdownMessage)
at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(IWebHost host)
at Arda.Kanban.Program.Main(String[] args) in D:\home\site\repository\src\Arda.Kanban\Program.cs:line 10
Since this is a microservice architecture, it makes sense to have separate Git repositories for each project. It will improve our current build process (make it faster at least).
It is hard to set up all the services for the first time.
In order to make it easier, we could improve:
We need to rethink the authentication before exposing the Kanban and Permission endpoints to the Web.
Idea:
https://identityserver4.readthedocs.io/en/release/intro/big_picture.html
I just found a security update to ASP.NET Core MVC
January 2017 Update for ASP.NET Core 1.1:
https://blogs.msdn.microsoft.com/dotnet/2017/01/30/january-2017-update-for-asp-net-core-1-1/
However, when applied the security fix, the application does not start because it doesn't find a corresponding assembly for MVC.TagHelpers 1.1.1.
The folder shows MVC.TagHelpers and MVC 1.1.0.
Appointment/My - The appointment list is not handling the field "Appointment date" as a Date to order making it dificult to keep on track the last appointment logged.
Fix - User Picture from Azure Active Directory is not being used
Coding Logging - Handle exception with Applicaiton Insights
If EditWorkload receives an EntityFramework model instead of a simple model, then the technology, metrics and users are deleted.
The problem is in this logic:
_context.Files.RemoveRange(files);
_context.WorkloadBacklogMetrics.RemoveRange(metrics);
_context.WorkloadBacklogTechnologies.RemoveRange(technologies);
_context.WorkloadBacklogUsers.RemoveRange(users);
_context.SaveChanges();
This deletes the data prior to inserting the data
var metricList = new List<WorkloadBacklogMetric>();
foreach (var mId in workload.WBMetrics)
{
var metric = _context.Metrics.First(m => m.MetricID == mId);
metricList.Add(new WorkloadBacklogMetric()
{
Metric = metric
});
}
The problem is that when the workload is an EF model, then there is no data to insert it later.
Hi,
I am trying to do a first go in the project, but I am facing a problem to open it in Visual Studio Community 2015 in Windows 10.
The problem is pretty straightforward, but I can't find a solution. The error presented just after I open the .sln file is
Problem is, I could only find the ".NET Core SDK version 1.0.0-preview2.1-003155" for Linux machines...
The obvious solution would be to change the SDK version, but then I would not be compliant with the current version you guys are using.
Am I doing something wrong?
Exception:
Microsoft.EntityFrameworkCore.Query.Internal.SqlServerQueryCompilationContextFactory[1]
An exception occurred in the database while iterating the results of a query.
System.InvalidOperationException: Sequence contains no elements
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at lambda_method(Closure , ValueBuffer )
at System.Linq.Enumerable.<JoinIterator>d__80`4.MoveNext()
at System.Linq.Enumerable.<JoinIterator>d__80`4.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
System.InvalidOperationException: Sequence contains no elements
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at lambda_method(Closure , ValueBuffer )
at System.Linq.Enumerable.<JoinIterator>d__80`4.MoveNext()
at System.Linq.Enumerable.<JoinIterator>d__80`4.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
Make sure the Kestrel binds to 0.0.0.0 instead of localhost.
We need to improve the data access - let's start with some integration tests
Visual Studio 2017 migration broke integration tests - it causes problem in Entity Framework
Error Message:
System.InvalidOperationException : No value provided for required parameter '_outer_WBID'.
Stack Trace:
at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.CreateCommand(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues)
at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute(IRelationalConnection connection, String executeMethod, IReadOnlyDictionary`2 parameterValues, Boolean closeConnection)
at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteReader(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable.Enumerator.BufferlessMoveNext(Boolean buffer)
at Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](Func`2 operation, Func`2 verifySucceeded, TState state)
at Microsoft.EntityFrameworkCore.Query.QueryMethodProvider.<_ShapedQuery>d__3`1.MoveNext()
at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Arda.Kanban.Repositories.WorkloadRepository.GetWorkloadsByUser(String uniqueName) in C:\src\Arda\src\Arda.Kanban\Repositories\WorkloadRepository.cs:line 327
at IntegrationTests.Workload.<>c__DisplayClass5_0.<Workload_GetWorkloadsByUser>b__0(WorkloadViewModel[] list, KanbanContext ctx) in C:\src\Arda\test\IntegrationTests.Arda.Kanban.Repositories\Repositories\Workload.cs:line 112
at IntegrationTests.ArdaTestMgr.Validate[R](ISupportSnapshot`1 testClass, String testName, Func`3 testFunction, String member) in C:\src\Arda\test\IntegrationTests.Arda.Kanban.Repositories\ArdaTestManager\ArdaTestMgr.cs:line 92
at IntegrationTests.Workload.Workload_GetWorkloadsByUser() in C:\src\Arda\test\IntegrationTests.Arda.Kanban.Repositories\Repositories\Workload.cs:line 108
There is a strong dependency of User identity and Claims throughout the code. We should encapsulate this code into a model class. As a result, it will indirectly help #23.
Find all "User.Claims", Subfolders, Find Results 1, Entire Solution, ""
C:\src\Arda\src\Arda.Common\Middlewares\SecurityMainMiddleware.cs(35): var uniqueName = context.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\AccountController.cs(58): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\ActivityController.cs(22): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\AppointmentController.cs(38): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\AppointmentController.cs(65): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\AppointmentController.cs(94): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\AppointmentController.cs(126): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\AppointmentController.cs(153): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\AppointmentController.cs(180): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\AppointmentController.cs(212): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\DashboardController.cs(26): var user = User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\FiscalYearController.cs(26): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\FiscalYearController.cs(60): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\FiscalYearController.cs(93): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\FiscalYearController.cs(130): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\FiscalYearController.cs(152): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\FiscalYearController.cs(187): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\MetricController.cs(37): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\MetricController.cs(75): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\MetricController.cs(115): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\MetricController.cs(145): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\MetricController.cs(163): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\MetricController.cs(195): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\MetricController.cs(217): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\MetricController.cs(236): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\TechnologyController.cs(22): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\UsersController.cs(79): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\UsersController.cs(102): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\UsersController.cs(122): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\UsersController.cs(139): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\UsersController.cs(170): var uniqueName = User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\UsersController.cs(200): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\UsersController.cs(220): var uniqueName = User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\UsersController.cs(240): var uniqueName = User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\UsersController.cs(260): var uniqueName = User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\UsersController.cs(279): var uniqueName = User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\UsersController.cs(295): var uniqueName = User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\WorkloadController.cs(26): var loggedUser = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\WorkloadController.cs(63): var loggedUser = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\WorkloadController.cs(101): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\WorkloadController.cs(136): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\WorkloadController.cs(181): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\WorkloadController.cs(197): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Controllers\WorkloadController.cs(215): var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Views\Appointment\Add.cshtml(41): <input type="text" class="form-control" id="_AppointmentUserName" name="_AppointmentUserName" value="@User.Claims.First(claim => claim.Type == "name").Value" readonly />
C:\src\Arda\src\Arda.Main\Views\Appointment\Add.cshtml(42): <input type="hidden" id="_AppointmentUserUniqueName" name="_AppointmentUserUniqueName" value="@User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value" />
C:\src\Arda\src\Arda.Main\Views\Appointment\Details.cshtml(42): <input type="text" class="form-control" id="_AppointmentUserName" name="_AppointmentUserName" value="@User.Claims.First(claim => claim.Type == "name").Value" readonly />
C:\src\Arda\src\Arda.Main\Views\Appointment\Edit.cshtml(32): <input type="text" class="form-control" id="_AppointmentUserName" name="_AppointmentUserName" value="@User.Claims.First(claim => claim.Type == "name").Value" readonly />
C:\src\Arda\src\Arda.Main\Views\Dashboard\Index.cshtml(41): var user = User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Views\Shared\_PartialDynamicMenu.cshtml(19): var user = User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;
C:\src\Arda\src\Arda.Main\Views\Shared\_PartialDynamicMenu.cshtml(67): var username = '@User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value';
C:\src\Arda\src\Arda.Main\Views\Shared\_PartialDynamicMenu.cshtml(79): Welcome, <strong>@User.Claims.First(claim => claim.Type == "name").Value</strong>
Matching lines: 52 Matching files: 15 Total files searched: 728
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.