Example #1
0
        public async void EditSave()
        {
            MainViewModel main = IoC.Get <MainViewModel>();

            if (!await ValidateAsync())
            {
                await main.Notify("项目信息验证失败", NotificationType.Warning);

                return;
            }

            CodeProjectInputDto dto    = this.MapTo <CodeProjectInputDto>();
            OperationResult     result = null;
            await _serviceProvider.ExecuteScopedWorkAsync(async provider =>
            {
                IDataContract contract = provider.GetRequiredService <IDataContract>();
                result = dto.Id == default
                    ? await contract.CreateCodeProjects(dto)
                    : await contract.UpdateCodeProjects(dto);
            });

            Helper.Notify(result);
            if (!result.Succeeded)
            {
                return;
            }

            ProjectListViewModel list = main.ProjectList;

            list.EditingModel = null;
            list.IsShowEdit   = false;
            list.Init();
        }
Example #2
0
        private static async Task <CodeProject> GetOrAddProject(IDataContract contract, CodeProject proj)
        {
            CodeProject project = contract.CodeProjects.FirstOrDefault(m => m.Name == proj.Name && m.NamespacePrefix == proj.NamespacePrefix);

            if (project != null)
            {
                return(project);
            }

            CodeProjectInputDto projDto = new CodeProjectInputDto()
            {
                Name            = proj.Name,
                NamespacePrefix = proj.NamespacePrefix,
                Company         = proj.Company,
                SiteUrl         = proj.SiteUrl,
                Creator         = proj.Creator,
                Copyright       = proj.Copyright
            };
            await contract.CreateCodeProjects(projDto);

            project = contract.CodeProjects.First(m => m.Name == proj.Name && m.NamespacePrefix == proj.NamespacePrefix);

            return(project);
        }