Beispiel #1
0
        public AddTemplateResponse AddTemplateToLibrary(AddTemplateRequest request)
        {
            var response = new AddTemplateResponse();

            try
            {
                var user = ApplicationUserRepository.FindOne(u => u.Username == request.User);
                if (user.Templates.Any(x => x.Id == request.TemplateId))
                {
                    response.AddTemplateStatus = AddTemplateStatus.TemplateAlreadyAdded;
                    return(response);
                }
                var template = TemplateRepository.FindOne(v => v.Id == request.TemplateId);
                if (user.Credits < template.Credits)
                {
                    response.AddTemplateStatus = AddTemplateStatus.InsufficientCredits;
                    return(response);
                }
                user.Credits -= template.Credits;
                user.Templates.Add(template);
                ApplicationUserRepository.Save(user);
                response.Credits           = user.Credits;
                response.AddTemplateStatus = AddTemplateStatus.Success;
            }
            catch (Exception ex)
            {
                response.AddTemplateStatus = AddTemplateStatus.Error;
                response.Message           = ex.Message;
            }
            return(response);
        }
Beispiel #2
0
        public async void add([FromBody] AddTemplateRequest request)
        {
            using (var dbContext = new PulseDbContext())
            {
                var account = await dbContext.Accounts
                              .Include(a => a.Templates)
                              .Where(a => a.AccountId == request.AccountId)
                              .FirstOrDefaultAsync();

                if (account == null)
                {
                    return;
                }

                foreach (var template in request.Templates)
                {
                    dbContext.Templates.Add(template);
                    account.Templates.Add(template);

                    //await FirebaseHelper.SendMessage(account, "added_template", template);
                }

                await dbContext.SaveChangesAsync();
            }
        }
        /// <summary>
        ///   Add a new template.
        /// </summary>
        /// <param name="request">
        ///   The name for the new template - must be unique.
        /// </param>
        /// <returns>A <see cref="TemplateInfo" /> object.</returns>
        public async Task <TemplateInfo> AddTemplate(AddTemplateRequest request)
        {
            string path = "/templates/add.json";

            TemplateInfo resp = await Post <TemplateInfo>(path, request);

            return(resp);
        }
Beispiel #4
0
        /// <summary>
        ///   Add a new template.
        /// </summary>
        /// <param name="request">
        ///   The name for the new template - must be unique.
        /// </param>
        /// <returns>A <see cref="TemplateInfo" /> object.</returns>
        public async Task <TemplateInfo> AddTemplate(AddTemplateRequest request)
        {
            string path = "templates/add.json";

            TemplateInfo resp = await Post <TemplateInfo>(path, request).ConfigureAwait(false);

            return(resp);
        }
        /// <summary>
        /// Add a new template.
        /// </summary>
        /// <param name="name">The name for the new template - must be unique.</param>
        /// <param name="fromEmail">A default sending address for emails sent using this template.</param>
        /// <param name="fromName">A default from name to be used.</param>
        /// <param name="subject">A default subject line to be used.</param>
        /// <param name="code">
        /// The HTML code for the template with <c>mc:edit</c> attributes for
        /// the editable elements.
        /// </param>
        /// <param name="text">A default text part to be used when sending with this template.</param>
        /// <param name="emailId">Unique id of email.</param>
        /// <param name="images">List of inline attachments.</param>
        /// <param name="checksum">Current template checksum.</param>
        /// <param name="replicaId">The replica identifier.</param>
        /// <returns>
        /// A <see cref="TemplateInfo"/> object.
        /// </returns>
        public TemplateInfo AddTemplate(string name, string fromEmail, string fromName, string subject, string code,
                                        string text, Guid emailId, IEnumerable <image> images = null, string checksum = null,
                                        string replicaId = null)
        {
            var request = new AddTemplateRequest {
                ApiKey          = ApiKey,
                Name            = name,
                FromEmail       = fromEmail,
                FromName        = fromName,
                Subject         = subject,
                Code            = code,
                Text            = text,
                EmailId         = emailId,
                Images          = images,
                ReplicaChecksum = checksum,
                ReplicaId       = replicaId
            };

            return(ServiceClient.Post <TemplateInfo>(request, AddTemplateApiPath));
        }
Beispiel #6
0
 /// <summary>
 ///  增加富媒体短信内容接口
 /// </summary>
 /// <param name="request">请求参数信息</param>
 /// <returns>请求结果信息</returns>
 public async Task <AddTemplateResponse> AddTemplate(AddTemplateRequest request)
 {
     return(await new AddTemplateExecutor().Client(this).Execute <AddTemplateResponse, AddTemplateResult, AddTemplateRequest>(request).ConfigureAwait(false));
 }
Beispiel #7
0
 /// <summary>
 ///  增加富媒体短信内容接口
 /// </summary>
 /// <param name="request">请求参数信息</param>
 /// <returns>请求结果信息</returns>
 public AddTemplateResponse AddTemplate(AddTemplateRequest request)
 {
     return(new AddTemplateExecutor().Client(this).Execute <AddTemplateResponse, AddTemplateResult, AddTemplateRequest>(request));
 }
Beispiel #8
0
 /// <summary>
 /// 组合模板并添加至帐号下的个人模板库
 /// </summary>
 public async Task <AddTemplateResponse> AddTemplate(AddTemplateRequest request)
 {
     return(await _client.SendAsync <AddTemplateResponse>(request));
 }