protected void Seed(CreateEmailTemplate command)
        {
            // make sure email template does not already exist
            var template = _queryProcessor.Execute(
                new EmailTemplateByName(command.Name, command.EstablishmentId));

            if (template != null)
            {
                return;
            }
            _createEntity.Handle(command);
            _unitOfWork.SaveChanges();
        }
Example #2
0
        /// <summary>
        /// Создать шаблон сообщения
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <BaseApiResponse> CreateEmailTemplateAsync(CreateEmailTemplate model)
        {
            var validation = ValidateModelAndUserIsAdmin(model);

            if (!validation.IsSucceeded)
            {
                return(validation);
            }

            CreateHandled(new EmailTemplate
            {
                CustomEmailType = model.CustomEmailType,
                IsActive        = model.IsActive,
                IsJsScripted    = model.IsJsScripted,
                JsScript        = model.JsScript,
                TemplateType    = model.TemplateType
            });

            return(await TrySaveChangesAndReturnResultAsync("Шаблон создан"));
        }
        protected override void Execute(CodeActivityContext context)
        {
            // Get the context service.
            IWorkflowContext            Icontext       = context.GetExtension <IWorkflowContext>();
            IOrganizationServiceFactory serviceFactory = context.GetExtension <IOrganizationServiceFactory>();

            // Use the context service to create an instance of IOrganizationService.
            IOrganizationService service = serviceFactory.CreateOrganizationService(Icontext.UserId); // user = SDU\SQLCRMDynWorkF

            var tracingService = context.GetExtension <ITracingService>();

            tracingService.Trace("EXECUTE.....");

            try
            {
                var relatedRecords = CreateEmailTemplate.QueryForRelatedRecords(true, Icontext.PrimaryEntityId, service, "sdu_adgangtilitsystem");
                var contact        = service.Retrieve(Contact.Get(context).LogicalName, Contact.Get(context).Id, new ColumnSet(true));
                tracingService.Trace("CONTACTID " + contact.Id.ToString());
                var parameters = service.Retrieve(ParameterReference.Get(context).LogicalName, ParameterReference.Get(context).Id, new ColumnSet(true));
                tracingService.Trace("PARAMETERS " + parameters.Id.ToString());
                var emailSender = parameters.GetAttributeValue <EntityReference>("sdu_baemailafsender");
                tracingService.Trace("EMAILSENDER " + emailSender.Id.ToString());



                if (relatedRecords.Count > 0)
                {
                    GroupRightsTogether(service, emailSender.Id, Icontext, relatedRecords, new Person()
                    {
                        FullName = contact.GetAttributeValue <string>("fullname"), Email = contact.GetAttributeValue <string>("emailaddress1")
                    }, parameters, tracingService);
                    //var emailBody = ConstructEmailBody(groupedRigths);
                    //SendEmail(service, Icontext.UserId, Icontext.PrimaryEntityId, "*****@*****.**", emailBody, ".....");
                }
            }
            catch (Exception ex)
            {
                tracingService.Trace(ex.ToString());
                throw;
            }
        }
 protected void Seed(CreateEmailTemplate command)
 {
     // make sure email template does not already exist
     var template = _queryProcessor.Execute(
         new EmailTemplateByName(command.Name, command.EstablishmentId));
     if (template != null) return;
     _createEntity.Handle(command);
     _unitOfWork.SaveChanges();
 }