Example #1
0
        public RecordTemplateDetailsView(IRecordTemplateService service, RecordTemplateModel entity, bool isNew, bool?allowSaveIfNoChanges = null)
            : base(service, entity, isNew, allowSaveIfNoChanges)
        {
            InitializeComponent();

            // load storages
            IStorageService storageService = ServiceManager.ConfigureService <StorageService>();

            _storages = storageService.GetVisible(GlobalVariables.UserId, entity.StorageId);
            comboStorage.ItemsSource = _storages;

            // load currencies
            ICurrencyService currencyService = ServiceManager.ConfigureService <CurrencyService>();

            _currencies = currencyService.GetActive(GlobalVariables.UserId, entity.CurrencyId, entity.Storage?.CurrencyId, entity.Debt?.CurrencyId);
            CurrencySelector.Currencies = _currencies;

            // load debts
            IDebtService debtService = ServiceManager.ConfigureService <DebtService>();

            _debts = debtService.GetActive(GlobalVariables.UserId, entity.DebtId);
            comboDebts.ItemsSource = _debts;

            // set currencies list
            compCurrencyExchangeRate.CurrencyIds =
                _storages.Select(_ => _.CurrencyId).Distinct().Concat(_currencies.Select(c => c.Id)).Distinct().ToList();

            // set header and commands panel context
            LabelHeader.Content       = ViewHeader;
            CommandsPanel.DataContext = Commands;
        }
        public async Task <IHttpActionResult> DeleteRecordTemplateModel([FromUri] string id)
        {
            try
            {
                RecordTemplateModel recordTemplateModel = await RecordService.FindByIdAsync(ThreadStaticObject.UserId, id);

                if (recordTemplateModel == null)
                {
                    return(NotFound());
                }

                ServiceResultMessage result = await RecordService.RemoveAsync(ThreadStaticObject.UserId, id);

                return(Json(new DjLiveResponse <RecordTemplateModel>(recordTemplateModel)));
            }
            catch (Exception e)
            {
                var errorId = Guid.NewGuid().Str();
                LogHelper.Error(errorId, e);
                return(Json(new DjLiveResponse <dynamic>()
                {
                    ApiCode = ApiCode.UnExceptError,
                    Message = $@"发生未知错误,请联系管理员,错误代码:{errorId}"
                }));
            }
        }
Example #3
0
        private void OpenDetails(RecordTemplateModel model, bool isNew = false, bool?allowSaveIfNoChanges = null)
        {
            this.OpenDetailsWindow(new RecordTemplateDetailsView(_recordTemplateService, model, isNew, allowSaveIfNoChanges), () =>
            {
                // update grid
                if (isNew)
                {
                    _viewModel.TemplateEntities.Add(model);
                }

                NotifyDataChanged();
            });
        }
        public async Task <IHttpActionResult> PostRecordTemplateModel([FromBody] RecordTemplateModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                var id = Guid.NewGuid().Str();
                try
                {
                    ServiceResultMessage result = await RecordService.AddLogeTemplate(ThreadStaticObject.UserId, id, model);

                    if (result.code == ServiceResultCode.Success)
                    {
                        model.Id = id;
                        return(Json(new DjLiveResponse <RecordTemplateModel>(model)));
                    }
                    return(Json(new DjLiveResponse <dynamic>()
                    {
                        ApiCode = ApiCode.UnExceptError,
                        Message = $@"发生未知错误,请联系管理员,错误代码:{result.ErrorId}"
                    }));
                }
                catch (Exception)
                {
                    if (await RecordService.RecordTemplateModelExists(ThreadStaticObject.UserId, model.Id))
                    {
                        return(Conflict());
                    }
                    throw;
                }
            }
            catch (Exception e)
            {
                var errorId = Guid.NewGuid().Str();
                LogHelper.Error(errorId, e);
                return(Json(new DjLiveResponse <dynamic>()
                {
                    ApiCode = ApiCode.UnExceptError,
                    Message = $"发生未知错误,请联系管理员,错误代码:{errorId}"
                }));
            }
        }
        public async Task <int> GetRecordTemplatesCount(string userId, RecordTemplateModel delta)
        {
            try
            {
                RecordTemplateEntity entityDelta = null;

                if (delta != null)
                {
                    entityDelta = new RecordTemplateEntity()
                    {
                        Name = delta.Name
                    };
                }
                return(await RecordDao.GetRecordTemplatesCount(userId, entityDelta));
            }
            catch (Exception e)
            {
                throw;
            }
        }
        public async Task <List <RecordTemplateModel> > GetSimpleRecordTemplates(string userId, int page, int countPerPage, RecordTemplateModel delta)
        {
            try
            {
                RecordTemplateEntity entityDelta = null;
                if (delta != null)
                {
                    entityDelta = new RecordTemplateEntity()
                    {
                        Name = delta.Name
                    };
                }
                var entities = await RecordDao.GetRecordTemplateEntitys(page, countPerPage, userId, entityDelta);

                return(entities?.Select(item => new RecordTemplateModel()
                {
                    Id = item.Id,
                    Name = item.Name,
                    Description = item.Description,
                    NamePolicy = item.NamePolicy,
                    UploadUrl = item.UploadUrl,
                }).ToList());
            }
            catch (Exception e)
            {
                throw;
            }
        }
        public async Task <ServiceResultMessage> AddLogeTemplate(string userId, string id, RecordTemplateModel model)
        {
            try
            {
                var daoresult = await RecordDao.Add2Account(userId, new RecordTemplateEntity()
                {
                    Id          = id,
                    Name        = model?.Name,
                    Description = model?.Description,
                    NamePolicy  = model?.NamePolicy,
                    UploadUrl   = model?.UploadUrl,
                });

                return((ServiceResultMessage)ServiceResultBase.DaoResult2ServiceResult(daoresult));
            }
            catch (Exception e)
            {
                LogHelper.Error(e.Message, e);
                return(null);
            }
        }
        //todo:UnFinish
        public async Task <ServiceResultMessage> UpdateLogeTemplate(string userId, string id, RecordTemplateModel model)
        {
            try
            {
                //todo:1.保存设置  3.重新生成配置文件 4.上传配置文件 5.重启SRS服务
                var daoresult = await RecordDao.UpdateRecordTemplateEntity(id, new RecordTemplateEntity()
                {
                    Name        = model?.Name,
                    Description = model?.Description,
                    NamePolicy  = model?.NamePolicy,
                    UploadUrl   = model?.UploadUrl,
                });

                return((ServiceResultMessage)ServiceResultBase.DaoResult2ServiceResult(daoresult));
            }
            catch (Exception e)
            {
                LogHelper.Error(e.Message, e);
                return(null);
            }
        }
Example #9
0
 public RecordTemplateDetailsView(RecordTemplateModel entity, bool isNew)
     : this(ServiceManager.ConfigureService <RecordTemplateService>(), entity, isNew)
 {
 }
        public async Task <IHttpActionResult> GetRecordTemplateModels([FromUri] int page, [FromUri] int countPerPage, [FromUri] RecordTemplateModel delta)
        {
            try
            {
                int count = await RecordService.GetRecordTemplatesCount(ThreadStaticObject.UserId, delta);

                List <RecordTemplateModel> recordTemplateModels = await RecordService.GetSimpleRecordTemplates(ThreadStaticObject.UserId, page, countPerPage, delta);

                return(Json(new DjLiveResponse <List <RecordTemplateModel> >()
                {
                    ApiCode = ApiCode.Success,
                    Content = recordTemplateModels,
                    TotalCount = count,
                }));
            }
            catch (Exception e)
            {
                var errorId = Guid.NewGuid().Str();
                LogHelper.Error(errorId, e);
                return(Json(new DjLiveResponse <dynamic>()
                {
                    ApiCode = ApiCode.UnExceptError,
                    Message = $@"发生未知错误,请联系管理员,错误代码:{errorId}"
                }));
            }
        }