public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var sp = await _context.ServiceProvider
                     .Include(t => t.User)
                     .FirstOrDefaultAsync(m => m.Id == id);

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

            var model = new ServiceProviderViewModel
            {
                Id             = sp.Id,
                UserId         = sp.UserId,
                UserName       = sp.User.UserName,
                Email          = sp.User.Email,
                Address        = sp.Address,
                WalletAddress  = sp.WalletAddress,
                TransactionFee = sp.TransactionFee,
                Status         = sp.Status
            };

            return(View(model));
        }
示例#2
0
        public User CreateServiceProvider(ServiceProviderViewModel serviceProviderViewModel)

        {
            User user = new User();
            UserServiceCatogoryRepository userServiceCatogoryRepository = new UserServiceCatogoryRepository(new AutoSolutionContext());
            RoleRepository autoSolutionRoleProvider = new RoleRepository(new AutoSolutionContext());

            //user.UserFullName = serviceProviderViewModel.First_Name + " " + serviceProviderViewModel.Last_Name;
            user.FirstName                  = serviceProviderViewModel.First_Name;
            user.LastName                   = serviceProviderViewModel.Last_Name;
            user.Password                   = EncryptPassword.PasswordToEncrypt(serviceProviderViewModel.Password);
            user.Email                      = serviceProviderViewModel.Email;
            user.MobileNumber               = serviceProviderViewModel.MobileNumber;
            user.PhoneNumber                = serviceProviderViewModel.PhoneNumber;
            user.Gender                     = serviceProviderViewModel.Gender;
            user.IsConfrimEmail             = false;
            user.IsActive                   = false;
            user.IsTermAndConditionAccepted = serviceProviderViewModel.IsTermAndConditionAccepted;
            user.IsDelete                   = false;
            user.DateOfBirth                = DateTime.Now;
            user.LastUpdateDate             = DateTime.Now;
            user.RegistrationDate           = DateTime.Now;
            user.Address                    = "-";
            user.PasswordCount              = 0;
            user.RememberMe                 = false;
            user.ActivetionCode             = Guid.NewGuid();
            user.CityId                     = Convert.ToInt32(serviceProviderViewModel.SelectedCity);
            user.CityAreaID                 = Convert.ToInt32(serviceProviderViewModel.SelectedCityAreaId);
            user.UserRoles                  = autoSolutionRoleProvider.AddRolesTOUser(serviceProviderViewModel.Email, "Service Provider");
            user.UserServiceCatogories      = userServiceCatogoryRepository.SelectedServiceCategories(serviceProviderViewModel.ServiceCategoriesList);
            return(user);
        }
        public ServiceProviderViewModel ServiceproviderToSendText(int accountID)
        {
            ServiceProvider serviceProvider = serviceProviderRepository.GetSendTextServiceProviders(accountID, CommunicationType.Text);

            ServiceProviderViewModel viewmodel = Mapper.Map <ServiceProvider, ServiceProviderViewModel>(serviceProvider);

            return(viewmodel);
        }
示例#4
0
        public HttpResponseMessage SaveCommunicationLogInDetails(ServiceProviderViewModel request)
        {
            ServiceProviderResponse response = serviceProviderService.SaveServiceProvider(new ServiceProviderRequest()
            {
                ServiceProviderViewModel = request
            });

            return(Request.BuildResponse(response));
        }
        public ServiceProviderResponse GetServiceProvider(ServiceProviderRequest request)
        {
            Logger.Current.Verbose("Request to fetch communication logindetails for specific contact.");
            ServiceProviderResponse response        = new ServiceProviderResponse();
            ServiceProvider         serviceProvider = serviceProviderRepository.GetServiceProviders(Convert.ToInt16(request.ServiceProviderViewModel.AccountID), request.ServiceProviderViewModel.CommunicationTypeID, request.ServiceProviderViewModel.MailType);

            if (serviceProvider != null)
            {
                ServiceProviderViewModel ServiceProviderViewModel = Mapper.Map <ServiceProvider, ServiceProviderViewModel>(serviceProvider as ServiceProvider);
                response.ServiceProviderViewModel = ServiceProviderViewModel;
            }

            return(response);
        }
示例#6
0
        public ActionResult serviceprovider(string name)
        {
            if ((Session["userId"] == null) || (Convert.ToInt32(Session["type"]) != 3))
            {
                return(RedirectToAction("login", "Common"));
            }

            ServiceProviderViewModel SPVM = new ServiceProviderViewModel();

            SPVM.admin = _AdminService.GetById(Convert.ToInt32(Session["userId"]));

            SPVM.repairmen = _RepairmanService.GetByName(name);

            return(View(SPVM));
        }
示例#7
0
        public ServiceProviderViewModel CreateServiceProvider()

        {
            var province          = new ProvinceRepository(new AutoSolutionContext());
            var city              = new CityRepository(new AutoSolutionContext());
            var serviceCategories = new ServiceCategoryRepository(new AutoSolutionContext());
            var serviceProvider   = new ServiceProviderViewModel()
            {
                ProvincesList         = province.GetProvinces(),
                CitiesList            = city.GetCities(),
                ServiceCategoriesList = serviceCategories.GetServiceCategories()
            };

            return(serviceProvider);
        }
示例#8
0
        private bool EmailSend(string subject, string emailBody, string toEmail, int accountId, int userId)
        {
            Logger.Current.Informational("In Email Send Method:  " + toEmail);
            var success     = false;
            var mailService = new MailService();
            ServiceProviderViewModel serviceProviderViewModel = communicationService.GetAccountServiceProviders(new GetServiceProviderRequest()
            {
                CommunicationTypeId = CommunicationType.Mail,
                AccountId           = accountId,
                MailType            = MailType.TransactionalEmail
            }).ServiceProviderViewModel.FirstOrDefault();
            MailRegistrationDb mailRegistration = mailService.GetMailRegistrationDetails(serviceProviderViewModel.LoginToken);

            LandmarkIT.Enterprise.CommunicationManager.Requests.SendMailRequest sendMailRequest = new LandmarkIT.Enterprise.CommunicationManager.Requests.SendMailRequest();
            var senderEmail = serviceProviderRepository.GetServiceProviderEmail(serviceProviderViewModel.CommunicationLogID);

            sendMailRequest.TokenGuid     = mailRegistration.Guid;
            sendMailRequest.RequestGuid   = Guid.NewGuid();
            sendMailRequest.IsBodyHtml    = true;
            sendMailRequest.From          = senderEmail.EmailId;
            sendMailRequest.Subject       = subject;
            sendMailRequest.ScheduledTime = DateTime.Now.ToUniversalTime().AddSeconds(5);
            sendMailRequest.Body          = emailBody;
            sendMailRequest.DisplayName   = mailRegistration.Name;
            sendMailRequest.To            = new List <string>()
            {
                toEmail
            };
            sendMailRequest.CategoryID = (short)EmailNotificationsCategory.InvalidCouponReport;
            sendMailRequest.AccountID  = accountId;
            try
            {
                mailService.Send(sendMailRequest);
                success = true;
            }
            catch (Exception ex)
            {
                ex.Data.Clear();
                ex.Data.Add("AccountId", accountId);
                ex.Data.Add("UserID", userId);
                ex.Data.Add("TO Email", toEmail);
                Logger.Current.Error("Error while sending email through transaction provider ", ex);
                success = false;
            }
            return(success);
        }
示例#9
0
        public ActionResult ServiceProvider(ServiceProviderViewModel serviceProviderViewModel)
        {
            ServiceProviderViewModel model = _unitOfWork.User.CreateServiceProvider();

            if (ModelState.IsValid)
            {
                UserRepository userRepository       = new UserRepository(new AutoSolutionContext());
                var            serviceProvider      = userRepository.CreateServiceProvider(serviceProviderViewModel);
                var            AddedServiceProvider = _unitOfWork.User.Add(serviceProvider);
                int            i = _unitOfWork.Complete();
                var            activationCode   = AddedServiceProvider.ActivetionCode;
                var            VerificationLink = "/Registration/UserVerification/" + activationCode;
                var            link             = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, VerificationLink);
                UserEmailUtility.SendEmailToUser(AddedServiceProvider.Email, link);
                return(RedirectToAction("ServiceProvider"));
            }
            return(View(model));
        }
示例#10
0
        //
        // GET: /ServiceProvider/
        public ActionResult Index()
        {
            var uid   = (int)Session["user-id"];
            var model = new ServiceProviderViewModel();

            model.Packages     = sprepo.GetById(uid).Packages;
            model.Appointments = arepo.GetAll().Where(a => a.Package.Account.Id == uid).OrderBy(o => o.Time);
            var trans = trepo.GetAll().Where(t => t.ServiceProviderId == uid);

            if (Request["fromDate"] != null && Request["toDate"] != null)
            {
                var fromDate = Convert.ToDateTime(Request["fromDate"]);
                var toDate   = Convert.ToDateTime(Request["toDate"]);
                trans = trans.Where(t => t.Appointment.Time >= fromDate && t.Appointment.Time <= toDate);
            }
            model.Transactions = trans;
            return(View(model));
        }
示例#11
0
        public int PageSize = 10;  // ten items per page

        // GET: ServiceProviders
        public ActionResult Index(string searchString, int page = 1)
        {
            if (!String.IsNullOrEmpty(searchString))
            {
                ServiceProviderViewModel model = new ServiceProviderViewModel
                {
                    ServiceProviders = db.ServiceProviders
                                       .OrderBy(d => d.ServiceProviderName)
                                       .Include(s => s.Category)
                                       .Where(c => c.ServiceProviderName.Contains(searchString) || c.Category.CategoryName.Contains(searchString))
                                       .Skip((page - 1) * PageSize)
                                       .Take(PageSize),
                    PagingInfo = new PagingInfo
                    {
                        CurrentPage  = page,
                        ItemsPerPage = PageSize,
                        TotalItems   = db.ServiceProviders.Count()
                    }
                };
                return(View(model));
            }
            else
            {
                ServiceProviderViewModel model = new ServiceProviderViewModel
                {
                    ServiceProviders = db.ServiceProviders
                                       .OrderBy(d => d.ServiceProviderName)
                                       .Include(s => s.Category)
                                       .Skip((page - 1) * PageSize)
                                       .Take(PageSize),
                    PagingInfo = new PagingInfo
                    {
                        CurrentPage  = page,
                        ItemsPerPage = PageSize,
                        TotalItems   = db.ServiceProviders.Count()
                    }
                };
                return(View(model));
            }
        }
示例#12
0
 /// <summary>
 /// Updates campaign to given status and updates remarks, serviceprovider.
 /// </summary>
 /// <param name="campaign"></param>
 /// <param name="status"></param>
 /// <param name="remarks"></param>
 /// <param name="serviceProvider"></param>
 /// <param name="mailChimpCampaignId"></param>
 private void UpdateCampaignTriggerStatus(Campaign campaign, CampaignStatus status, string remarks, ServiceProviderViewModel serviceProvider, IEnumerable <int> successfulRecipientIDs, int accountId, bool isDelayedCampaign = false, string mailChimpCampaignId = null)
 {
     _campaignService.UpdateCampaignTriggerStatus(new UpdateCampaignTriggerStatusRequest(campaign.Id)
     {
         Status                    = status,
         SentDateTime              = DateTime.UtcNow,
         ServiceProviderID         = serviceProvider.CommunicationLogID,
         Remarks                   = remarks,
         ServiceProviderCampaignId = string.IsNullOrEmpty(mailChimpCampaignId) ? serviceProvider.AccountCode + "/" + campaign.Id : mailChimpCampaignId,
         IsDelayedCampaign         = isDelayedCampaign,
         RecipientIds              = successfulRecipientIDs,
         AccountId                 = accountId
     });
 }
示例#13
0
        private string ProcessEmailContent(Campaign campaign, MailRegistrationDb mailRegistration, ServiceProviderViewModel serviceProvider)
        {
            string content;
            var    imageHostingUrl = _jobConfig.ImageHostingServiceUrl;
            var    accountDomain   = serviceProvider.Account.DomainURL.ToLower();

            if (!string.IsNullOrEmpty(serviceProvider.ImageDomain?.Domain))
            {
                mailRegistration.ImageDomain = serviceProvider.ImageDomain.Domain;
                content = campaign.HTMLContent.Replace(imageHostingUrl, serviceProvider.ImageDomain.Domain);
                var imageDomainProtocol = serviceProvider.ImageDomain.Domain.Substring(0, serviceProvider.ImageDomain.Domain.IndexOf("://") + 3);
                var index      = serviceProvider.ImageDomain.Domain.IndexOf("//");
                var dotCount   = serviceProvider.ImageDomain.Domain.Count(d => d == '.');
                var linkDomain = serviceProvider.ImageDomain.Domain;
                if (index >= 0 && dotCount == 1)
                {
                    linkDomain = serviceProvider.ImageDomain.Domain.Replace(imageDomainProtocol, imageDomainProtocol + serviceProvider.AccountCode + ".");
                    content    = content.Replace("http://" + accountDomain, linkDomain).Replace("https://" + accountDomain, linkDomain);
                }
            }
            else
            {
                content = campaign.HTMLContent;
            }

            return(content.Replace("*|CAMPID|*", campaign.Id.ToString()).Replace("<o:p>", "").Replace("</o:p>", ""));
        }
示例#14
0
        // GET: Registration



        public ActionResult ServiceProvider()
        {
            ServiceProviderViewModel model = _unitOfWork.User.CreateServiceProvider();

            return(View(model));
        }