public async Task <Result <NoteTypeDto> > AddAsync(NoteTypeDto entity) { var response = new Result <NoteTypeDto>(); try { var ctx = GetOpenConnection(); var noteTypes = new GenericRepositoryEF <KntDbContext, NoteType>(ctx); var newEntity = new NoteType(); newEntity.SetSimpleDto(entity); var resGenRep = await noteTypes.AddAsync(newEntity); response.Entity = resGenRep.Entity?.GetSimpleDto <NoteTypeDto>(); response.ErrorList = resGenRep.ErrorList; await CloseIsTempConnection(ctx); } catch (Exception ex) { AddExecptionsMessagesToErrorsList(ex, response.ErrorList); } return(ResultDomainAction(response)); }
public async Task <Result <FolderDto> > AddAsync(FolderDto entity) { var response = new Result <FolderDto>(); try { var ctx = GetOpenConnection(); var folders = new GenericRepositoryEF <KntDbContext, Folder>(ctx); var newEntity = new Folder(); newEntity.SetSimpleDto(entity); newEntity.FolderNumber = GetNextFolderNumber(folders); newEntity.CreationDateTime = DateTime.Now; newEntity.ModificationDateTime = DateTime.Now; var resGenRep = await folders.AddAsync(newEntity); response.Entity = resGenRep.Entity?.GetSimpleDto <FolderDto>(); response.ErrorList = resGenRep.ErrorList; await CloseIsTempConnection(ctx); } catch (Exception ex) { AddExecptionsMessagesToErrorsList(ex, response.ErrorList); } return(ResultDomainAction(response)); }
public async Task <Result <UserInternalDto> > AddInternalAsync(UserInternalDto entity) { var resService = new Result <UserInternalDto>(); try { var ctx = GetOpenConnection(); var users = new GenericRepositoryEF <KntDbContext, User>(ctx); var newEntity = entity.GetSimpleDto <User>(); var resRep = await users.AddAsync(newEntity); resService.Entity = resRep.Entity?.GetSimpleDto <UserInternalDto>(); resService.ErrorList = resRep.ErrorList; await CloseIsTempConnection(ctx); } catch (Exception ex) { AddExecptionsMessagesToErrorsList(ex, resService.ErrorList); } return(ResultDomainAction(resService)); }
private async Task <Result <KAttributeTabulatedValueDto> > SaveTabulateValueAsync(KntDbContext ctx, Guid attributeId, KAttributeTabulatedValueDto entity) { Result <KAttributeTabulatedValue> resRep = null; var resService = new Result <KAttributeTabulatedValueDto>(); try { var kattributeTabulatedValues = new GenericRepositoryEF <KntDbContext, KAttributeTabulatedValue>(ctx); if (entity.KAttributeTabulatedValueId == Guid.Empty) { entity.KAttributeTabulatedValueId = Guid.NewGuid(); var newEntity = new KAttributeTabulatedValue(); newEntity.SetSimpleDto(entity); newEntity.KAttributeId = attributeId; resRep = await kattributeTabulatedValues.AddAsync(newEntity); } else { var entityForUpdate = kattributeTabulatedValues.Get(entity.KAttributeTabulatedValueId).Entity; if (entityForUpdate != null) { entityForUpdate.SetSimpleDto(entity); resRep = await kattributeTabulatedValues.UpdateAsync(entityForUpdate); } else { var newEntity = new KAttributeTabulatedValue(); newEntity.SetSimpleDto(entity); newEntity.KAttributeId = attributeId; resRep = await kattributeTabulatedValues.AddAsync(newEntity); } } } catch (Exception ex) { AddExecptionsMessagesToErrorsList(ex, resService.ErrorList); } resService.Entity = resRep.Entity?.GetSimpleDto <KAttributeTabulatedValueDto>(); resService.ErrorList = resRep.ErrorList; return(ResultDomainAction(resService)); }
public async Task <Result <KAttributeDto> > AddAsync(KAttributeDto entity) { var response = new Result <KAttributeDto>(); try { using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { var ctx = GetOpenConnection(); var kattributes = new GenericRepositoryEF <KntDbContext, KAttribute>(ctx); var newEntity = new KAttribute(); newEntity.SetSimpleDto(entity); var resGenRep = await kattributes.AddAsync(newEntity); response.Entity = resGenRep.Entity?.GetSimpleDto <KAttributeDto>(); response.ErrorList = resGenRep.ErrorList; foreach (var value in entity.KAttributeValues) { var res = await SaveTabulateValueAsync(ctx, response.Entity.KAttributeId, value); if (!res.IsValid) { response.ErrorList.Add(res.Message); } response.Entity.KAttributeValues.Add(res.Entity); } scope.Complete(); await CloseIsTempConnection(ctx); } } catch (Exception ex) { AddExecptionsMessagesToErrorsList(ex, response.ErrorList); } return(ResultDomainAction(response)); }