public async Task <ActionResult> Logout()
        {
            var tenancyName = await GetCurrentTenancyName();

            var websiteAddress = _webUrlService.GetSiteRootAddress(tenancyName);
            var serverAddress  = _webUrlService.GetServerRootAddress(tenancyName);

            await _signInManager.SignOutAsync();

            return(Redirect(serverAddress.EnsureEndsWith('/') + "account/logout?returnUrl=" + websiteAddress));
        }
Beispiel #2
0
        private string GetTenantLogoUrl(int?tenantId)
        {
            if (!tenantId.HasValue)
            {
                return(_webUrlService.GetServerRootAddress().EnsureEndsWith('/') + "TenantCustomization/GetTenantLogo?skin=light");
            }

            var tenant = _tenantCache.Get(tenantId.Value);

            return(_webUrlService.GetServerRootAddress(tenant.TenancyName).EnsureEndsWith('/') + "TenantCustomization/GetTenantLogo?skin=light&tenantId=" + tenantId.Value);
        }
        public async Task <IViewComponentResult> InvokeAsync(string currentPageName = "")
        {
            var tenancyName = "";

            if (_abpSession.TenantId.HasValue)
            {
                var tenant = await _tenantManager.GetByIdAsync(_abpSession.GetTenantId());

                tenancyName = tenant.TenancyName;
            }

            var headerModel = new HeaderViewModel
            {
                LoginInformations = await _sessionCache.GetCurrentLoginInformationsAsync(),
                IsInHostView      = !_abpSession.TenantId.HasValue,
                Languages         = _languageManager.GetActiveLanguages().ToList(),
                CurrentLanguage   = _languageManager.CurrentLanguage,
                Menu                      = await _userNavigationManager.GetMenuAsync(FrontEndNavigationProvider.MenuName, _abpSession.ToUserIdentifier()),
                CurrentPageName           = currentPageName,
                IsMultiTenancyEnabled     = _multiTenancyConfig.IsEnabled,
                TenantRegistrationEnabled = await _settingManager.GetSettingValueAsync <bool>(AppSettings.TenantManagement.AllowSelfRegistration),
                AdminWebSiteRootAddress   = _webUrlService.GetServerRootAddress(tenancyName).EnsureEndsWith('/'),
                WebSiteRootAddress        = _webUrlService.GetSiteRootAddress(tenancyName).EnsureEndsWith('/')
            };

            return(View(headerModel));
        }
Beispiel #4
0
        public async Task LostEmailSendSalesManager(int Id, int?EnquiryId, string cidd, string ridd, string rrk, long?SalesPersonId, string EnquiryRefNo, string QuotationRefNo, string SalesPerson)
        {
            var edq           = _webUrlService.GetServerRootAddress();
            var emailTemplate = new StringBuilder(_emailTemplateProvider.LostEmailTemplate());

            emailTemplate.Replace("{Competitor}", cidd);
            emailTemplate.Replace("{LostReason}", ridd);
            emailTemplate.Replace("{ReasonRemark}", rrk);
            emailTemplate.Replace("{EnquiryRefNo}", EnquiryRefNo);
            emailTemplate.Replace("{QuotationRefNo}", QuotationRefNo);
            emailTemplate.Replace("{SalesPerson}", SalesPerson);
            emailTemplate.Replace("{WebsiteUrl}", edq + "/app/main/quotation/" + Id);

            var salesmanageremail = (from a in _teamDetailRepository.GetAll()
                                     where a.SalesmanId == SalesPersonId && a.IsDeleted == false
                                     join b in _teamRepository.GetAll().Where(p => p.IsDeleted == false) on a.TeamId equals b.Id
                                     select b.SalesManager.EmailAddress).FirstOrDefault();
            var salesexecutiveemail = _userRepository.GetAll().Where(p => p.Id == SalesPersonId).Select(p => p.EmailAddress).FirstOrDefault();

            var leaddetail = _leadDetailRepository.GetAll().Where(p => p.InquiryId == EnquiryId).FirstOrDefault();

            if (salesexecutiveemail != null)
            {
                //salesmanageremail = salesmanageremail + "," + salesexecutiveemail;
                await _emailSender.SendAsync(salesexecutiveemail, "Lost Email for Enquiry : " + EnquiryRefNo, emailTemplate.ToString());
            }
            if (leaddetail.CoordinatorId != null)
            {
                var coordinator = _userRepository.GetAll().Where(p => p.Id == leaddetail.CoordinatorId).Select(p => p.EmailAddress).FirstOrDefault();
                //salesmanageremail = salesmanageremail + "," + coordinator;
                await _emailSender.SendAsync(coordinator, "Lost Email for Enquiry : " + EnquiryRefNo, emailTemplate.ToString());
            }
            if (leaddetail.DesignerId != null)
            {
                var designer = _userRepository.GetAll().Where(p => p.Id == leaddetail.DesignerId).Select(p => p.EmailAddress).FirstOrDefault();
                //salesmanageremail = salesmanageremail + "," + designer;
                await _emailSender.SendAsync(designer, "Lost Email for Enquiry : " + EnquiryRefNo, emailTemplate.ToString());
            }
            try
            {
                await _emailSender.SendAsync(salesmanageremail, "Lost Email for Enquiry : " + EnquiryRefNo, emailTemplate.ToString());
            }
            catch (Exception ex)
            {
            }
        }
        public async Task <IsTenantAvailableOutput> IsTenantAvailable(IsTenantAvailableInput input)
        {
            var tenant = await TenantManager.FindByTenancyNameAsync(input.TenancyName);

            if (tenant == null)
            {
                return(new IsTenantAvailableOutput(TenantAvailabilityState.NotFound));
            }

            if (!tenant.IsActive)
            {
                return(new IsTenantAvailableOutput(TenantAvailabilityState.InActive));
            }

            return(new IsTenantAvailableOutput(TenantAvailabilityState.Available, tenant.Id,
                                               _webUrlService.GetServerRootAddress(input.TenancyName)));
        }
Beispiel #6
0
        public async Task <ActionResult> Logout()
        {
            var tenancyName = "";

            if (AbpSession.TenantId.HasValue)
            {
                var tenant = await _tenantManager.GetByIdAsync(AbpSession.GetTenantId());

                tenancyName = tenant.TenancyName;
            }

            var websiteAddress = _webUrlService.GetSiteRootAddress(tenancyName);
            var serverAddress  = _webUrlService.GetServerRootAddress(tenancyName);

            await _signInManager.SignOutAsync();

            return(Redirect(serverAddress.EnsureEndsWith('/') + "account/logout?returnUrl=" + websiteAddress));
        }
        /// <summary>
        /// 上传并保存微信素材
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <IActionResult> SaveAndUpdate(MpMediaArticleDto input)
        {
            MpMediaArticleDto result = null;

            input.LastModificationTime = DateTime.Now;
            if (Request.Form.Files.Count > 0)
            {
                var    profilePictureFile = Request.Form.Files.First();
                byte[] fileBytes;
                using (var stream = profilePictureFile.OpenReadStream())
                {
                    fileBytes = stream.GetAllBytes();
                }
                var    fileInfo = new FileInfo(profilePictureFile.FileName);
                var    extra    = fileInfo.Extension.Substring(fileInfo.Extension.IndexOf(".") + 1);
                string fileUrl  = await _fileServer.UploadFile(fileBytes, extra, MpMessageType.mpnews.ToString());

                input.FilePathOrUrl = fileUrl;
                Logger.Info($"封面图片URL:{fileUrl}");
                var filename = fileUrl.Substring(fileUrl.LastIndexOf("/") + 1);
                input.PicMediaID = await _wxMediaUpload.UploadAndGetMediaID(input.MpID, fileUrl, MpMessageType.image);

                Logger.Info($"封面图片MediaID:{input.PicMediaID}");
                await _mpMediaImageAppService.Create(new MpMediaImageDto
                {
                    FileID               = input.PicFileID,
                    FilePathOrUrl        = input.FilePathOrUrl,
                    MpID                 = input.MpID,
                    Name                 = input.Title + "封面图片",
                    MediaID              = input.PicMediaID,
                    LastModificationTime = DateTime.Now
                });
            }

            //更换微信图文中图片链接

            var domain = _webUrlService.GetServerRootAddress();

            domain          = domain.Substring(0, domain.Length - 1);
            input.WxContent = await _mpMediaArticleAppService.UpdateWxContentString(input.Content, input.ArticleGrid, domain);

            //获取图文mediaID
            if (string.IsNullOrEmpty(input.MediaID))
            {
                input.MediaID = await _wxMediaUpload.UploadArticleAndGetMediaID(input.MpID, new Senparc.Weixin.MP.AdvancedAPIs.GroupMessage.NewsModel
                {
                    author                = input.Author,
                    title                 = input.Title,
                    digest                = input.Description,
                    content               = input.WxContent,
                    content_source_url    = input.AUrl,
                    show_cover_pic        = input.ShowPic,
                    thumb_media_id        = input.PicMediaID,
                    need_open_comment     = input.EnableComment,
                    only_fans_can_comment = input.OnlyFansComment
                });
            }
            else
            {
                input.MediaID = await _wxMediaUpload.UploadArticleAndGetMediaID(input.MpID, new Senparc.Weixin.MP.AdvancedAPIs.GroupMessage.NewsModel
                {
                    author                = input.Author,
                    title                 = input.Title,
                    digest                = input.Description,
                    content               = input.WxContent,
                    content_source_url    = input.AUrl,
                    show_cover_pic        = input.ShowPic,
                    thumb_media_id        = input.PicMediaID,
                    need_open_comment     = input.EnableComment,
                    only_fans_can_comment = input.OnlyFansComment
                }, false, input.MediaID);
            }

            if (input.Id == 0)
            {
                result = await _mpMediaArticleAppService.Create(input);
            }
            else
            {
                result = await _mpMediaArticleAppService.Update(input);
            }
            return(Json(result));
        }
Beispiel #8
0
        public async Task <List <SliderDataList> > GetSalesExecutive()
        {
            long userid = (long)AbpSession.UserId;
            var  user   = await UserManager.GetUserByIdAsync(userid);

            var grantedPermissions = await UserManager.GetGrantedPermissionsAsync(user);

            var permissionresult = (from r in grantedPermissions where r.Name == "Pages.Tenant.Managemant.Leads" select r).FirstOrDefault();

            var userrole = (from c in UserManager.Users
                            join urole in _userRoleRepository.GetAll() on c.Id equals urole.UserId
                            join role in _roleManager.Roles on urole.RoleId equals role.Id
                            where urole.UserId == userid
                            select role).FirstOrDefault();

            using (_unitOfWorkManager.Current.SetTenantId(AbpSession.TenantId))
            {
                string SliderQuery = "SELECT * FROM [dbo].[View_SalesPersonSlider] where TenantId = " + AbpSession.TenantId;

                DataTable            viewtable = new DataTable();
                ConnectionAppService db        = new ConnectionAppService();
                SqlConnection        con       = new SqlConnection(db.ConnectionString());
                con.Open();
                SqlCommand cmd = new SqlCommand(SliderQuery, con);
                using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                {
                    sda.Fill(viewtable);
                }
                con.Close();
                var data = (from DataRow dr in viewtable.Rows
                            select new SliderDataList
                {
                    Id = Convert.ToInt32(dr["Id"]),
                    Name = Convert.ToString(dr["Name"]),
                    ProfilePicture = _webUrlService.GetServerRootAddress().EnsureEndsWith('/') + Convert.ToString(dr["ProfileImage"]),
                    Email = Convert.ToString(dr["EmailAddress"])
                }).ToList();

                //if(userrole.DisplayName != "Admin")
                //{
                //    data = (from r in data where r.Id == userid select r).ToList();
                //}

                if (permissionresult != null && userrole.DisplayName != "Admin")
                {
                    data = (from r in data where r.Id == userid select r).ToList();
                }
                else if (permissionresult == null && userrole.DisplayName != "Admin")
                {
                    var qchk = _QuotationRepository.GetAll().Where(p => p.SalesmanId == userid).FirstOrDefault();
                    if (qchk != null)
                    {
                        data = (from r in data where r.Id == userid select r).ToList();
                    }
                    else
                    {
                        data = (from r in data where r.Id < 1 select r).ToList();
                    }
                }

                if (data.Count > 1)
                {
                    data.Add(new SliderDataList {
                        Id = 0, Name = "All", ProfilePicture = _webUrlService.GetServerRootAddress().EnsureEndsWith('/') + "Common/Profile/default-profile-picture.png", Email = "*****@*****.**"
                    });
                }
                var SliderData = data.OrderBy(p => p.Id).MapTo <List <SliderDataList> >();
                return(SliderData);
            }
        }