Exemplo n.º 1
0
        public async Task <IHttpActionResult> DeleteLogoTemplateModel([FromUri] string id)
        {
            try
            {
                LogoTemplateModel logoTemplateModel = await LogoService.FindByIdAsync(ThreadStaticObject.UserId, id);

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

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

                return(Json(new DjLiveResponse <dynamic>(logoTemplateModel)));
            }
            catch (Exception e)
            {
                var errorId = Guid.NewGuid().Str();
                LogHelper.Error(errorId, e);
                return(Json(new DjLiveResponse <dynamic>()
                {
                    ApiCode = ApiCode.UnExceptError, Message = $@"发生未知错误,请联系管理员,错误代码:{errorId}"
                }));
            }
        }
Exemplo n.º 2
0
        public async Task <IHttpActionResult> PostLogoTemplateModel([FromBody] LogoTemplateModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                var id = Guid.NewGuid().Str();
                try
                {
                    ServiceResultMessage result = await LogoService.AddLogeTemplate(ThreadStaticObject.UserId, id, model);

                    if (result.code == ServiceResultCode.Success)
                    {
                        model.Id = id;
                        return(Json(new DjLiveResponse <dynamic>(model)));
                    }
                    return(Json(new DjLiveResponse <dynamic>()
                    {
                        ApiCode = ApiCode.UnExceptError, Message = $@"发生未知错误,请联系管理员,错误代码:{result.ErrorId}"
                    }));
                }
                catch (Exception)
                {
                    if (await LogoService.LogoTemplateModelExists(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> GetLogoTemplatesCount(string userId, LogoTemplateModel delta)
        {
            try
            {
                LogoTemplateEntity entityDelta = null;

                if (delta != null)
                {
                    entityDelta = new LogoTemplateEntity()
                    {
                        Name = delta.Name,
                    };
                }
                return(await LogoDao.GetLogoTemplatesCount(userId, entityDelta));
            }
            catch (Exception e)
            {
                throw;
            }
        }
        public async Task <List <LogoTemplateModel> > GetSimpleLogoTemplates(string userId, int page, int countPerPage, LogoTemplateModel delta)
        {
            try
            {
                LogoTemplateEntity entityDelta = null;
                if (delta != null)
                {
                    entityDelta = new LogoTemplateEntity()
                    {
                        Name = delta.Name
                    };
                }
                var entities = await LogoDao.GetLogoTemplates(page, countPerPage, userId, entityDelta);

                return(entities?.Select(item => new LogoTemplateModel()
                {
                    Id = item.Id,
                    Name = item.Name,
                    Base64String = item.Base64Vale,
                }).ToList());
            }
            catch (Exception e)
            {
                throw;
            }
        }
        public async Task <ServiceResultMessage> AddLogeTemplate(string userId, string id, LogoTemplateModel logoTemplateModel)
        {
            ServiceResultMessage message = new ServiceResultMessage();

            try
            {
                string filePath = string.Concat(ConfigurationValue.TempLogoPath, $"{id}");
                var    options  = JsonConvert.SerializeObject(new LogoOption()
                {
                    Height = logoTemplateModel.Height,
                    Width  = logoTemplateModel.Width,
                });
                var path = EncryptUtils.Base64SaveImg(logoTemplateModel.Base64String, filePath);
                if (path == null)
                {
                    message.code    = ServiceResultCode.ImageTranscodeError;
                    message.Message = "base64转 图片失败.";
                    return(message);
                }
                var daoresult = await LogoDao.Add2Account(userId, new LogoTemplateEntity()
                {
                    Id         = id,
                    Name       = logoTemplateModel.Name,
                    Base64Vale = logoTemplateModel.Base64String,
                    FilePath   = path,
                    Option     = options,
                });

                if (daoresult.Code == DaoResultCode.Success)
                {
                    var serverEntities = await ServerDao.GetServerEntitys(userId);

                    foreach (ServerEntity entity in serverEntities)
                    {
                        try
                        {
                            var config      = JsonConvert.DeserializeObject <LiveServiceConfig>(entity.Option);
                            var liveService = new DjLiveService(config);
                            liveService.UploadLogoFile(id, path);
                        }
                        catch (Exception e)
                        {
                            message.ErrorId +=
                                ("  " + LogHelper.ErrorWithId($"上传服务器Logo文件失败,ServerId{entity.Id},LogoId:{id}", e));
                            message.Message += $"上传服务器Logo文件失败,ServerId{entity.Id},LogoId:{id}";
                        }
                    }
                    await ServerNodeService.UpdateSrsConf(userId);

                    return(message);
                }
                else
                {
                    message = ServiceResultBase.DaoResult2ServiceResult(daoresult);
                }
                return(message);
            }
            catch (NullReferenceException e)
            {
                message.code    = ServiceResultCode.SaveFileError;
                message.Message = e.Message;
                message.ErrorId = LogHelper.ErrorWithId(e.Message, e);
                return(message);
            }
            catch (Exception e)
            {
                message.code    = ServiceResultCode.UnExceptError;
                message.Message = e.Message;
                message.ErrorId = LogHelper.ErrorWithId(e.Message, e);
                return(message);
            }
        }
Exemplo n.º 6
0
        public async Task <IHttpActionResult> PutLogoTemplateModel([FromUri] string id, [FromBody] LogoTemplateModel logoTemplateModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                if (id != logoTemplateModel.Id)
                {
                    return(BadRequest("参数不匹配."));
                }
                try
                {
                    ServiceResultMessage result = await LogoService.UpdateLogeTemplate(ThreadStaticObject.UserId, id, logoTemplateModel);

                    if (result.code == ServiceResultCode.Success)
                    {
                        return(Json(new DjLiveResponse <dynamic>(logoTemplateModel)));
                    }
                    return(Json(new DjLiveResponse <dynamic>()
                    {
                        ApiCode = ApiCode.UnExceptError, Message = $@"发生未知错误,请联系管理员,错误代码:{result.ErrorId}"
                    }));
                }
                catch (Exception dbE)
                {
                    if (!await LogoService.LogoTemplateModelExists(ThreadStaticObject.UserId, id))
                    {
                        return(NotFound());
                    }
                    throw;
                }
            }
            catch (Exception e)
            {
                var errorId = Guid.NewGuid().Str();
                LogHelper.Error(errorId, e);
                return(Json(new DjLiveResponse <dynamic>()
                {
                    ApiCode = ApiCode.UnExceptError, Message = $@"发生未知错误,请联系管理员,错误代码:{errorId}"
                }));
            }
        }
Exemplo n.º 7
0
        public async Task <IHttpActionResult> GetLogoTemplateModels([FromUri] int page, [FromUri] int countPerPage, [FromUri] LogoTemplateModel delta)
        {
            try
            {
                int count = await LogoService.GetLogoTemplatesCount(ThreadStaticObject.UserId, delta);

                List <LogoTemplateModel> logos = await LogoService.GetSimpleLogoTemplates(ThreadStaticObject.UserId, page, countPerPage, delta);

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