예제 #1
0
        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));
        }
예제 #2
0
        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));
        }
예제 #3
0
        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));
        }
예제 #4
0
        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));
        }
예제 #5
0
        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));
        }