public object PostLoadEmailForm(PostLoadEmailFormDTO model)
        {
            Guid?        dynamicFormId = model.DynamicFormId.ToGuidObjNull();
            DCEmailModel designCode    = null;

            if (!string.IsNullOrWhiteSpace(model.XmlB64Model))
            {
                designCode = DesignCodeUtility.GetObjectOfDesignCode <DCEmailModel>(model.XmlB64Model.ToStringObj().FromBase64());

                designCode.IsOutputYes = model.IsOutputYes;
            }
            else
            {
                designCode = new DCEmailModel(Guid.NewGuid().ToString(), "Email", model.ShapeId.ToStringObj(),
                                              model.ParentShapeId.ToStringObj(), model.IsOutputYes, model.IsFirst.ToBoolObj(), string.Empty, Guid.Empty, "", "", "");
            }

            using (DynamicFormService dynamicFormService = new DynamicFormService())
                using (EmailAccountService emailAccountService = new EmailAccountService())
                    return new
                           {
                               ListEmailAccounts = emailAccountService.GetList((int)sysBpmsEmailAccount.e_ObjectTypeLU.Systemic, null, null).Select(c => new QueryModel(c.ID.ToString(), c.Email)).ToList(),
                               DynamicFormId     = dynamicFormId,
                               ProcessControls   = dynamicFormId != Guid.Empty && dynamicFormId.HasValue ?
                                                   dynamicFormService.GetControls(dynamicFormService.GetInfo(dynamicFormId.Value)).Select(c => new QueryModel(c.Key, c.Value)).ToList() : new List <QueryModel>(),
                               Model = designCode
                           };
        }
 public void Init()
 {
     _cacheMock    = new Mock <ICacheBase>();
     _mediatorMock = new Mock <IMediator>();
     _repository   = new Mock <IRepository <EmailAccount> >();
     _service      = new EmailAccountService(_repository.Object, _cacheMock.Object, _mediatorMock.Object);
 }
예제 #3
0
 public object GetAddEdit(Guid?ID = null)
 {
     using (EmailAccountService emailAccountService = new EmailAccountService())
     {
         sysBpmsEmailAccount emailAccount = !ID.HasValue ? null : emailAccountService.GetList((int)sysBpmsEmailAccount.e_ObjectTypeLU.User, ID, null).LastOrDefault();
         using (UserService userService = new UserService())
             return(new UserDTO((ID.HasValue ? userService.GetInfo(ID.Value) : new sysBpmsUser()), emailAccount));
     }
 }
 public object GetList([System.Web.Http.FromUri] EmailAccountIndexSearchDTO indexSearchVM)
 {
     //base.SetMenuIndex(AdminMenuIndex.EmailAccountIndex);
     using (EmailAccountService emailAccountService = new EmailAccountService())
     {
         List <sysBpmsEmailAccount> list = emailAccountService.GetList((int)sysBpmsEmailAccount.e_ObjectTypeLU.Systemic, null, indexSearchVM.GetPagingProperties);
         indexSearchVM.Update(list.Select(c => new EmailAccountDTO(c)).ToList());
         return(indexSearchVM);
     }
 }
예제 #5
0
        // GET: BpmsEvent
        public object GetIndex(Guid ProcessId, string ElementId)
        {
            EventDTO eventDTO = null;

            using (EventService eventService = new EventService())
            {
                eventDTO = new EventDTO(eventService.GetInfo(ElementId, ProcessId));
            }
            //Filling Default Message ViewBag
            using (MessageTypeService messageTypeService = new MessageTypeService())
            {
                if (eventDTO.SubTypeMessageEventModel?.Type == (int)SubTypeMessageEventModel.e_Type.Message &&
                    eventDTO.MessageTypeID.HasValue)
                {
                    //If messageType was changed, it adds or removes extra params.
                    List <MessageTypeParamsModel> listMTParams = messageTypeService.GetInfo(eventDTO.MessageTypeID.Value).ParamsXmlModel;

                    //update list of parameter
                    eventDTO.SubTypeMessageEventModel.MessageParams = listMTParams.Select(c =>
                                                                                          new SubTypeMessageParamEventModel(eventDTO.SubTypeMessageEventModel.MessageParams.FirstOrDefault(d => d.Name == c.Name)?.Variable, c.Name, c.IsRequired)).ToList();
                }

                using (EmailAccountService emailAccountService = new EmailAccountService())
                {
                    List <QueryModel> list = new List <QueryModel>()
                    {
                        new QueryModel(((int)SubTypeEmailEventModel.e_FromType.CurrentUser).ToString(), "Current User"),
                        new QueryModel(((int)SubTypeEmailEventModel.e_FromType.CurrentThreadUser).ToString(), "Requested User")
                    };
                    return(new
                    {
                        SubTypeTimerEventModelIntervalTypes = EnumObjHelper.GetEnumList <SubTypeTimerEventModel.e_IntervalType>().Select(c => new QueryModel(c.Key.ToString(), c.Value)).ToList(),
                        SubTypeTimerEventModelSetTypes = EnumObjHelper.GetEnumList <SubTypeTimerEventModel.e_SetType>().Select(c => new QueryModel(c.Key.ToString(), c.Value)).ToList(),
                        SubTypeTimerEventModelTypes = EnumObjHelper.GetEnumList <SubTypeTimerEventModel.e_Type>().Where(c => eventDTO.TypeLU == (int)sysBpmsEvent.e_TypeLU.StartEvent || eventDTO.TypeLU == (int)sysBpmsEvent.e_TypeLU.boundary || c.Key != (int)SubTypeTimerEventModel.e_Type.Interval).Select(c => new QueryModel(c.Key.ToString(), c.Value)).ToList(),
                        SubTypeEmailEventModelToSystemicTypes = EnumObjHelper.GetEnumList <SubTypeEmailEventModel.e_ToSystemicType>().Select(c => new QueryModel(c.Key.ToString(), c.Value)).ToList(),
                        SubTypeEmailEventModelToTypes = EnumObjHelper.GetEnumList <SubTypeEmailEventModel.e_ToType>().Select(c => new QueryModel(c.Key.ToString(), c.Value)).ToList(),
                        SubTypeMessageEventModelKeyTypes = EnumObjHelper.GetEnumList <SubTypeMessageEventModel.e_KeyType>().Select(c => new QueryModel(c.Key.ToString(), c.Value)).ToList(),
                        SubTypeMessageEventModelTypes = EnumObjHelper.GetEnumList <SubTypeMessageEventModel.e_Type>().Select(c => new QueryModel(c.Key.ToString(), c.Value)).ToList(),
                        //eventDTO.MessageTypeID
                        MessageTypes = messageTypeService.GetList("", true).Select(c => new QueryModel(c.ID.ToString(), c.Name)).ToList(),
                        //eventDTO.SubTypeMessageEventModel?.Email?.From
                        EmailAccounts = emailAccountService.GetList((int)sysBpmsEmailAccount.e_ObjectTypeLU.Systemic, null, null).
                                        Select(c => new QueryModel(c.ID.ToString(), c.Email)).Union(list).ToList(),
                        Model = eventDTO,
                    });
                }
            }
        }
 public object Delete(Guid ID)
 {
     if (ID != Guid.Empty)
     {
         using (EmailAccountService emailAccountService = new EmailAccountService())
         {
             ResultOperation resultOperation = emailAccountService.Delete(ID);
             if (resultOperation.IsSuccess)
             {
                 return(new PostMethodMessage(SharedLang.Get("Success.Text"), DisplayMessageType.success));
             }
             else
             {
                 return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error));
             }
         }
     }
     return(new PostMethodMessage(SharedLang.Get("NotFound.Text"), DisplayMessageType.error));
 }
        public object PostAddEdit(EmailAccountDTO EmailAccountDTO)
        {
            if (ModelState.IsValid)
            {
                sysBpmsEmailAccount emailAccount    = new sysBpmsEmailAccount();
                ResultOperation     resultOperation = emailAccount.Update((int)sysBpmsEmailAccount.e_ObjectTypeLU.Systemic, null, EmailAccountDTO.SMTP, EmailAccountDTO.Port,
                                                                          EmailAccountDTO.MailPassword, EmailAccountDTO.Email);

                if (!resultOperation.IsSuccess)
                {
                    return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error));
                }

                emailAccount.ID = EmailAccountDTO.ID;
                using (EmailAccountService EmailAccountService = new EmailAccountService())
                {
                    if (emailAccount.ID != Guid.Empty)
                    {
                        resultOperation = EmailAccountService.Update(emailAccount);
                    }
                    else
                    {
                        resultOperation = EmailAccountService.Add(emailAccount);
                    }
                }

                if (resultOperation.IsSuccess)
                {
                    return(new PostMethodMessage(SharedLang.Get("Success.Text"), DisplayMessageType.success));
                }
                else
                {
                    return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error));
                }
            }
            else
            {
                return(new PostMethodMessage(SharedLang.Get("NotFound.Text"), DisplayMessageType.error));
            }
        }
 public object GetAddEdit(Guid?ID = null, Guid?ParentID = null)
 {
     if (ParentID.HasValue)
     {
         return(new DepartmentDTO()
         {
             DepartmentID = ParentID
         });
     }
     else
     {
         using (EmailAccountService emailAccountService = new EmailAccountService())
         {
             using (DepartmentService departmentService = new DepartmentService())
             {
                 sysBpmsEmailAccount emailAccount = !ID.HasValue || ID == Guid.Empty ? null :
                                                    emailAccountService.GetList((int)sysBpmsEmailAccount.e_ObjectTypeLU.Department, ID, null).LastOrDefault();
                 return(new DepartmentDTO(ID.ToGuidObj() != Guid.Empty ? departmentService.GetInfo(ID.Value) : null, emailAccount));
             }
         }
     }
 }
예제 #9
0
        public object PostAddEdit(UserDTO UserDTO)
        {
            sysBpmsUser user = new sysBpmsUser(UserDTO.ID, UserDTO.Username, UserDTO.FirstName, UserDTO.LastName,
                                               UserDTO.Email, UserDTO.Tel, UserDTO.Mobile);

            ResultOperation     resultOperation = new ResultOperation();
            sysBpmsEmailAccount emailAccount    = null;

            if (!string.IsNullOrWhiteSpace(UserDTO.EmailAccountDTO?.Email) ||
                !string.IsNullOrWhiteSpace(UserDTO.EmailAccountDTO?.SMTP))
            {
                emailAccount    = new sysBpmsEmailAccount();
                resultOperation = emailAccount.Update((int)sysBpmsEmailAccount.e_ObjectTypeLU.User, user.ID, UserDTO.EmailAccountDTO?.SMTP, UserDTO.EmailAccountDTO?.Port,
                                                      UserDTO.EmailAccountDTO?.MailPassword, UserDTO.EmailAccountDTO?.Email);
                if (!resultOperation.IsSuccess)
                {
                    return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error));
                }
            }
            if (!string.IsNullOrWhiteSpace(user.Username))
            {
                UserCodeHelper userCodeHelper = new UserCodeHelper(null, null);
                UserInfo       userInfo       = userCodeHelper.GetSiteUser(user.Username);
                if (userInfo == null)
                {
                    bool createResult = userCodeHelper.CreateSiteUser(user.Username, user.FirstName, user.LastName, user.Email, (string.IsNullOrWhiteSpace(UserDTO.Password) ? UserController.GeneratePassword() : UserDTO.Password), false, createBpms: false);
                    if (!createResult)
                    {
                        return(new PostMethodMessage(SharedLang.Get("CreateUserError.Text"), DisplayMessageType.error));
                    }
                }
                else
                {
                    //if user exists and some inputs are null, it fills those with userInfo.
                    if (string.IsNullOrWhiteSpace(user.FirstName))
                    {
                        user.FirstName = userInfo.FirstName.ToStringObj().Trim();
                    }
                    if (string.IsNullOrWhiteSpace(user.LastName))
                    {
                        user.LastName = userInfo.LastName.ToStringObj().Trim();
                    }
                    if (string.IsNullOrWhiteSpace(user.Tel))
                    {
                        user.Tel = userInfo.Profile.Telephone.ToStringObj().Trim();
                    }
                    if (string.IsNullOrWhiteSpace(user.Mobile))
                    {
                        user.Mobile = userInfo.Profile.Cell.ToStringObj().Trim();
                    }
                    if (string.IsNullOrWhiteSpace(user.Email))
                    {
                        user.Email = userInfo.Email.ToStringObj().Trim();
                    }
                }
            }

            using (UserService userService = new UserService())
            {
                if (user.ID != Guid.Empty)
                {
                    resultOperation = userService.Update(user, emailAccount);
                    //It deletes EmailAccount's record from database if user sends all emailAccount's inputs null.
                    if (resultOperation.IsSuccess && emailAccount == null)
                    {
                        using (EmailAccountService emailAccountService = new EmailAccountService())
                        {
                            emailAccount = emailAccountService.GetList((int)sysBpmsEmailAccount.e_ObjectTypeLU.User, user.ID, null).LastOrDefault();
                            if (emailAccount != null)
                            {
                                resultOperation = emailAccountService.Delete(emailAccount.ID);
                            }
                        }
                    }
                }
                else
                {
                    resultOperation = userService.Add(user, emailAccount);
                }
            }

            if (resultOperation.IsSuccess)
            {
                return(new PostMethodMessage(SharedLang.Get("Success.Text"), DisplayMessageType.success));
            }
            else
            {
                return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error));
            }
        }