public override void Process(TagHelperContext context, TagHelperOutput output) { if (!string.IsNullOrWhiteSpace(Email)) { var hash = Md5HashHelper.GetHash(Email); output.TagName = "img"; if (!string.IsNullOrWhiteSpace(Class)) { output.Attributes.Add("class", Class); } if (!string.IsNullOrWhiteSpace(Alt)) { output.Attributes.Add("alt", Alt); } output.Attributes.Add("src", GetAvatarUrl(hash, Size)); output.TagMode = TagMode.SelfClosing; } }
/// <summary> /// 同步OTA订单 /// </summary> public void SynchronizingOtaOrder() { XJ_OrderIssuedsSoapClient client = new XJ_OrderIssuedsSoapClient(); string timeStamp = DateTime.Now.GetTimeStamp(); var sign = Md5HashHelper.HashPassword(_merCode + _key + timeStamp); //订单类型(4 - OTA订单, 5 - 旅行社订单) var order = client.GetOrderIssuedLine(_merCode, timeStamp, sign, "", "", 4); var resultData = JsonHelper.JsonToObject <ResultData>(order); if (resultData.IsTrue && resultData.ResultCode == "200") { var orderModel = JsonConvert.DeserializeObject <List <OtaOrderModel> >(resultData.ResultJson); var orderList = orderModel.Take(200).OrderByDescending(a => a.CreateTime).ToList(); var channelCodeList = orderList.Select(a => a.ChannelCode).Distinct().ToList(); var businessList = _otaBusinessService.GetList(channelCodeList, 1); var productCodeList = orderList.Select(a => a.ProductCode).Distinct().ToList(); var tickets = _ticketService.GetListByBusiness(productCodeList); foreach (var row in orderList) { //判断分销商是否存在 var business = businessList.FirstOrDefault(a => a.Code == row.ChannelCode); if (business == null) { continue; } var ticket = tickets.FirstOrDefault(a => a.Code == row.ProductCode); //判断产品是否存在 if (ticket == null) { continue; } XJ_Order orderInfo = PopulateOTAOrder(row, business, ticket); OrderOtaAction(tickets, row, orderInfo); } } }
public string HashPassword(ApplicationUser user, string password) { return(Md5HashHelper.GetMd5Hash(password)); }
public ActionResult Edit(UserEdit model) { var user = DB.Account.Single(x => x.Id == model.Id); if (!ModelState.IsValid) { SetChangeModel(user, model); ViewBag.IsControlPanelUser = user.TypeUser == (sbyte)TypeUsers.ControlPanelUser; return(View(model)); } var activated = false; if (Request.Form["activate"] != null) { if (user.EnabledEnum == UserStatus.Request) { activated = true; } user.EnabledEnum = UserStatus.New; } else if (Request.Form["block"] != null) { user.EnabledEnum = UserStatus.Blocked; } var groups = DB.AccountGroup.Where(x => model.AccountGroupIds.Contains(x.Id)); user.AccountGroup.Clear(); foreach (var group in groups) { user.AccountGroup.Add(group); } user.AccountRegion.Clear(); foreach (var regionCode in model.AccountRegionIds) { user.AccountRegion.Add(new AccountRegion() { AccountId = user.Id, RegionId = regionCode }); } var password = ""; // если подтверждение регистрации пользователя if (activated) { password = GetRandomPassword(); user.Password = Md5HashHelper.GetHash(password); user.PasswordUpdated = DateTime.Now; } user.AppointmentId = model.AppointmentId; user.LastUpdatePermisison = DateTime.Now; DB.SaveChanges(); // отправка сообщения пользователю с паролем if (activated) { Mails.SendAccountVerificationMessage(user, password); } SuccessMessage("Изменения успешно сохранены"); // если админ - на список админов if (user.TypeUser == (sbyte)TypeUsers.ControlPanelUser) { return(RedirectToAction("AdminList")); } return(RedirectToAction("Index")); }
private Account SaveAccount(AccountCompany accountCompany, RegViewModel Reg_ViewModel = null, RegDomainViewModel RegDomain_ViewModel = null, RegNotProducerViewModel RegNotProducer_ViewModel = null, string Pass = null) { var newAccount = new Account(); newAccount.EnabledEnum = UserStatus.New; newAccount.TypeUser = (sbyte)TypeUsers.ProducerUser; newAccount.CompanyId = accountCompany.Id; // регистрация первого пользователя компании if (Reg_ViewModel != null) { newAccount.Login = Reg_ViewModel.login; newAccount.Password = Md5HashHelper.GetHash(Pass); newAccount.PasswordUpdated = DateTime.Now; newAccount.FirstName = Reg_ViewModel.FirstName; newAccount.LastName = Reg_ViewModel.LastName; newAccount.OtherName = Reg_ViewModel.OtherName; newAccount.Name = Reg_ViewModel.LastName + " " + Reg_ViewModel.FirstName + " " + Reg_ViewModel.OtherName; newAccount.Phone = Reg_ViewModel.PhoneNumber; newAccount.AppointmentId = Reg_ViewModel.AppointmentId; } // регистрация второго и последующих пользователей производителя if (RegDomain_ViewModel != null) { newAccount.Login = RegDomain_ViewModel.Mailname + "@" + DB.CompanyDomainName.Single(x => x.Id == RegDomain_ViewModel.EmailDomain).Name; newAccount.Password = Md5HashHelper.GetHash(Pass); newAccount.PasswordUpdated = DateTime.Now; newAccount.FirstName = RegDomain_ViewModel.FirstName; newAccount.LastName = RegDomain_ViewModel.LastName; newAccount.OtherName = RegDomain_ViewModel.OtherName; newAccount.Name = RegDomain_ViewModel.LastName + " " + RegDomain_ViewModel.FirstName + " " + RegDomain_ViewModel.OtherName; newAccount.Phone = RegDomain_ViewModel.PhoneNumber; newAccount.AppointmentId = RegDomain_ViewModel.AppointmentId; } // Если компания в списке отсутствует if (RegNotProducer_ViewModel != null) { // создали новую должность var appointment = new AccountAppointment() { Name = RegNotProducer_ViewModel.Appointment, GlobalEnabled = false }; DB.Entry(appointment).State = EntityState.Added; DB.SaveChanges(); newAccount.Login = RegNotProducer_ViewModel.login; newAccount.FirstName = RegNotProducer_ViewModel.FirstName; newAccount.LastName = RegNotProducer_ViewModel.LastName; newAccount.OtherName = RegNotProducer_ViewModel.OtherName; newAccount.Name = RegNotProducer_ViewModel.LastName + " " + RegNotProducer_ViewModel.FirstName + " " + RegNotProducer_ViewModel.OtherName; newAccount.Phone = RegNotProducer_ViewModel.PhoneNumber; newAccount.AppointmentId = appointment.Id; // особый статус newAccount.EnabledEnum = UserStatus.Request; } DB.Entry(newAccount).State = EntityState.Added; DB.SaveChanges(); return(newAccount); }
public ActionResult UserAuthentication(LoginValidation user) { // валидация if (String.IsNullOrEmpty(user.login) || String.IsNullOrEmpty(user.password)) { ErrorMessage("Некорректно введены данные. Вашим логином является email, указанный при регистрации. Пароль при регистрации был выслан на ваш email"); ViewBag.CurrentUser = null; return(Redirect("~")); } // проверка наличия в БД var thisUser = DB.Account.SingleOrDefault(x => x.Login == user.login && x.TypeUser == SbyteTypeUser); if (thisUser == null) { ErrorMessage("Пользователь не найден. Вашим логином является email, указанный при регистрации"); ViewBag.CurrentUser = null; return(Redirect("~")); } // проверка пароля var passHash = Md5HashHelper.GetHash(user.password); if (passHash != thisUser.Password) { ErrorMessage("Неправильно введен пароль"); ViewBag.CurrentUser = null; return(Redirect("~")); } // если логинится не впервый раз и не заблокирован if (thisUser.EnabledEnum == UserStatus.Active) { CurrentUser = thisUser; return(Autentificate()); } // если логинится впервые else if (thisUser.EnabledEnum == UserStatus.New) { var group = DB.AdminGroup(); group.Account.Add(thisUser); DB.SaveChanges(); thisUser.PasswordUpdated = DateTime.Now; thisUser.EnabledEnum = UserStatus.Active; DB.Entry(thisUser).State = EntityState.Modified; DB.SaveChanges(); CurrentUser = thisUser; SuccessMessage("Вы успешно подтвердили свою регистрацию на сайте"); return(Autentificate()); } // аккаунт заблокирован else if (thisUser.EnabledEnum == UserStatus.Blocked) { CurrentUser = null; ErrorMessage("Ваша учетная запись заблокирована, обращайтесь на " + ConfigurationManager.AppSettings["MailFrom"]); return(Redirect("~")); } // заявка на регистрацию else if (thisUser.EnabledEnum == UserStatus.Request) { CurrentUser = null; SuccessMessage("Ваша заявка на регистрацию еще не рассмотрена, обращайтесь на " + ConfigurationManager.AppSettings["MailFrom"]); return(Redirect("~")); } return(Redirect("~")); }
protected virtual void Seed(ModelBuilder modelBuilder) { string currentUserName = "******"; DateTime date = new DateTime(2018, 1, 1, 0, 0, 0, DateTimeKind.Utc); Guid userId = new Guid("fa64114f-9aaf-492a-a9aa-43022bfac171"); var user = User.Create(userId, "Administrator"); ((IAuditableEntity)user).CreateAuditable(date, currentUserName); modelBuilder.Entity <User>().HasData(user); Guid credentialTypeId = new Guid("105ef49d-42b6-4fb8-8d9e-52aaa16f42a9"); var credentialType = CredentialType.Create(credentialTypeId, "Email address", "email"); ((IAuditableEntity)credentialType).CreateAuditable(date, currentUserName); modelBuilder.Entity <CredentialType>().HasData(credentialType); Guid credentialId = new Guid("132a06e7-4c9e-49f9-8f94-0604f01a5c16"); var credential = Credential.Create(credentialId, userId, credentialTypeId, "*****@*****.**", Md5HashHelper.ComputeHash("admin")); ((IAuditableEntity)credential).CreateAuditable(date, currentUserName); modelBuilder.Entity <Credential>().HasData(credential); }