public Result <UserViewModel> Login(LoginViewModel user) { try { var userResult = Get(u => u.Email.ToUpper() == user.Email.ToUpper()); if (userResult == null) { throw new Exception(EResultMessage.EmailOrPasswordWrong.ToString()); } if (!userResult.IsConfirmed) { throw new Exception(EResultMessage.UserNotConfirmed.ToString()); } if (!Protected.Validate(user.Password, userResult.HashPassword)) { throw new Exception(EResultMessage.EmailOrPasswordWrong.ToString()); } return(ResultHelper.Succeeded(_tokenManager.GenerateUserToken(userResult))); } catch (Exception e) { return(ResultHelper.Failed <UserViewModel>(message: e.Message)); } }
public Result <bool> ChangePassword(int userId, UserPasswordViewModel password) { try { if (password.NewPassword != password.RepeatedNewPassword) { throw new Exception(EResultMessage.InvalidData.ToString()); } var user = Get(u => u.Id == userId); if (user == null) { throw new Exception(EResultMessage.NotFound.ToString()); } if (!Protected.Validate(password.OldPassword, user.HashPassword)) { throw new Exception(EResultMessage.WrongPassword.ToString()); } user.HashPassword = Protected.CreatePasswordHash(password.NewPassword); Update(user); if (!SaveChanges()) { throw new Exception(EResultMessage.DatabaseError.ToString()); } return(ResultHelper.Succeeded(true, message: EResultMessage.RegistrationDone.ToString())); } catch (Exception e) { return(ResultHelper.Failed <bool>(message: e.Message)); } }
public PhasesBook(AppInterface appInterface, Size size) //, MouseTool mouseTool) { Variables = new VariableCollection(this); Sheets = new List <DrawingSheet>(); Actions = new List <RecordableAction>(); Globals = new List <IGlobal>(); defaultNewSheetSize = size; activeSheet = new GlobalSheet(this, "Main Sheet", defaultNewSheetSize, Constants.ImageIndex.MainSheet); controls = appInterface; Protected = new Protected(); //controls.mouse.ClearSelection(); controls.view.Nodes.Clear(); AddSheet(activeSheet); }
/// <summary> /// Returns a verbose indented string for debugging /// </summary> /// <returns>a debugging string</returns> public override string ToString() { return (" ForegroundColor: " + ForegroundColor.ToString() + "\n" + " ForegroundRgb: " + (ForegroundRgb == null ? "<null>" : ForegroundRgb.ToString()) + "\n" + " BackgroundColor: " + BackgroundColor.ToString() + "\n" + " BackgroundRgb: " + (BackgroundRgb == null ? "<null>" : BackgroundRgb.ToString()) + "\n" + " Bright: " + Bright.ToString() + "\n" + " Standout: " + Standout.ToString() + "\n" + " Underscore: " + Underscore.ToString() + "\n" + " Blink: " + Blink.ToString() + "\n" + " Reverse: " + Reverse.ToString() + "\n" + " Hidden: " + Hidden.ToString() + "\n" + " Protected: " + Protected.ToString() + "\n" ); }
public override int GetHashCode() { unchecked { var hashCode = Name != null?Name.GetHashCode() : 0; hashCode = (hashCode * 397) ^ (int)Type; hashCode = (hashCode * 397) ^ (From != null ? From.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (int)Rel; hashCode = (hashCode * 397) ^ (int)Scope; hashCode = (hashCode * 397) ^ (Default != null ? Default.GetHashCode() : 0); hashCode = (hashCode * 397) ^ Nullable.GetHashCode(); hashCode = (hashCode * 397) ^ Required.GetHashCode(); hashCode = (hashCode * 397) ^ Disabled.GetHashCode(); hashCode = (hashCode * 397) ^ Protected.GetHashCode(); hashCode = (hashCode * 397) ^ Personal.GetHashCode(); hashCode = (hashCode * 397) ^ (Annotations != null ? Annotations.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Description != null ? Description.GetHashCode() : 0); return(hashCode); } }
public async Task SendAsync(MailMessageViewModel message) { try { var client = new SmtpClient(SMTP_SERVER, SMTP_PORT) { Credentials = new NetworkCredential(SMTP_USER, Protected.DecodeText(PASSWORD)), EnableSsl = true }; await client.SendMailAsync(new MailMessage(message.From, message.To) { IsBodyHtml = message.IsBodyHtml, Body = message.Body, Subject = message.Subject }); } catch (Exception e) { throw e; } }
public IActionResult Unprotectdata([FromBody] Protected model) { var configurationBuilder = new ConfigurationBuilder(); var path = Path.Combine(Directory.GetCurrentDirectory(), "appsettings.json"); configurationBuilder.AddJsonFile(path, false); var root = configurationBuilder.Build(); var desKey = root.GetSection("KEY").GetSection("SECkey").Value; try { model.Password = EncryptProvider.DESDecrypt(model.Password, desKey); var email = model.Email; string output = email.Replace(" ", "+"); model.Email = EncryptProvider.DESDecrypt(output, desKey.ToString()); if (model.Action == 10) //reset Password from email { model.Email = EncryptProvider.DESDecrypt(output, desKey); return(Ok(model)); } //model.Email = EncryptProvider.DESDecrypt(model.Email, desKey); //model.Password = EncryptProvider.DESDecrypt(model.Password, desKey); if (model.Action > 0 && model.Action != 5) { model.AbsenceId = EncryptProvider.DESDecrypt(model.AbsenceId, desKey); //when action = 5 then there is no JobId } return(Ok(model)); } catch (Exception ex) { return(BadRequest("Invalid")); } finally { } }
/// <summary> /// Handling textbox link clicked event and raising the same event here. /// </summary> /// <param name="sender">object</param> /// <param name="e">EventArgs</param> private void T_Protected(object sender, EventArgs e) { Protected?.Invoke(sender, e); }
public void Stuff(Protected p) { }
public async Task <Guid?> PublishDraftTender(Guid tenderGuid) { // отримуємо всі звязані з тендером драфти з бази var draftTender = await Context.DraftTenders .Include(t => t.ProcuringEntity) .Include(t => t.ProcuringEntity.AllIdentifiers) .Include(t => t.ProcuringEntity.ContactPoints) .Include(t => t.ContactPointRefs) .Include(t => t.Lots) .Include(t => t.Items) .Include(t => t.Items.Select(i => i.AdditionalClassifications)) .Include(t => t.Features) .Include(t => t.Features.Select(f => f.Values)) .FirstOrDefaultAsync(t => t.Guid == tenderGuid); Protected <Rest.Tender> createdTenderInfo = null; // відправляємо запит в ЦБД using (var tendersService = new TendersService()) { var newTender = draftTender.ToRest(); switch (draftTender.ProcurementMethodType) { case ProcurementMethodType.ABOVE_THRESHOLD_UA_DEFENSE: case ProcurementMethodType.ABOVE_THRESHOLD_EU: newTender.ProcuringEntity.ContactPoints = draftTender.ContactPointRefs.Select(c => new ContactPoint(c.ContactPoint)); break; case ProcurementMethodType.REPORTING: case ProcurementMethodType.NEGOTIATION: case ProcurementMethodType.NEGOTIATION_QUICK: newTender.Features = null; newTender.MinimalStep = null; newTender.Lots = null; goto default; default: newTender.ProcuringEntity.ContactPoint.AvailableLanguage = null; break; } createdTenderInfo = await tendersService.CreateTender(newTender); } // Якщо досі не вискочив вийняток - значить тендер успішно створений в ДБД // Відловимо всі наступні вийнятки - щоб клієнт зміг побачити, що тендер успішно створений try { CreatedTender createdTender = new CreatedTender { Tender = Context.UpdateTender(null, createdTenderInfo.Data), Token = createdTenderInfo.Token, UserOrganizationId = draftTender.ProcuringEntityId }; Context.CreatedTenders.Add(createdTender); Context.DraftTenders.Remove(draftTender); try { await Context.SaveChangesAsync(); } catch (UpdateException) { // На випадок, ящо синхронізація пройшла швидше ніж додавання в базу при створенні Trace.TraceError($"Draft tender {tenderGuid} must be deleted manually."); using (StoreContext tempStore = new StoreContext()) { Tender syncedTender = tempStore.Tenders.FirstOrDefault(t => t.Guid == createdTenderInfo.Data.Guid); if (syncedTender != null) { createdTender.Tender = syncedTender; tempStore.CreatedTenders.Add(createdTender); await tempStore.SaveChangesAsync(); } else { throw; } } } } catch (Exception ex) { Trace.TraceError( $"New tender {createdTenderInfo.Data?.Guid} was created by organization {draftTender.ProcuringEntityId} with token {createdTenderInfo.Token}, but cannot be saved to store. Correct it manually. {ex}"); } return(createdTenderInfo.Data?.Guid); }
public void Stuff (Protected p) { }
/// <summary> /// What the Client sends to the server. /// </summary> public override void FromClient(PacketFromClient packet) { while (phase == Phases.Handshake) { Thread.Sleep(100); } //Wait for handshake to complete if (phase == Phases.FinalClose) { throw new SessionClosedException(); } if (packet.PacketID == PassThrough.ID) { SendToBackend(packet); return; } //Fix players eid to what is known for the server if (packet is IEntity) { IEntity ie = (IEntity)packet; if (ie.EID == Player.EntityID) { ie.EID = EID; packet.SetPacketBuffer(null); } } WorldRegion region = CurrentRegion; switch (packet.PacketID) { case PlayerPosition.ID: if (AttachedEntity > 0) { //Ignore relative movements } else { var pp = ((PlayerPosition)packet); if (pp.Position.Y > -900) { SetPosition(pp.Position, true); OnGround = pp.OnGround != 0; } } break; case PlayerPositionLookClient.ID: if (AttachedEntity > 0) { //Ignore relative movements } else { PlayerPositionLookClient pp = ((PlayerPositionLookClient)packet); if (pp.Position.Y > -900) { SetPosition(pp.Position, true); OnGround = pp.OnGround; } } Pitch = ((PlayerPositionLookClient)packet).Pitch; Yaw = ((PlayerPositionLookClient)packet).Yaw; break; case PlayerGround.ID: OnGround = ((PlayerGround)packet).OnGround; //Good but a few false positives /* * if (Sprinting)//Hacked client: Invalid sprint * { * Chatting.Parser.TellAdmin(Player.Name + Chat.Gray + " sprinting standing still"); * }*/ break; case EntityAction.ID: EntityAction ea = packet as EntityAction; switch (ea.Action) { case EntityAction.Actions.LeaveBed: Sleeping = false; break; case EntityAction.Actions.Crounch: Crouched = true; break; case EntityAction.Actions.Uncrounch: Crouched = false; break; case EntityAction.Actions.StartSprinting: Sprinting = true; break; case EntityAction.Actions.StopSprinting: Sprinting = false; break; } break; case UseEntity.ID: if (Mode == GameMode.Creative && (Player.Admin(Permissions.AnyAdmin) == false)) { return; //Donors can't hurt while in creative mode } if (UseEntityFromClient((UseEntity)packet)) { return; } break; case HeldItemClient.ID: //Active item var hc = (HeldItemClient)packet; if (hc.SlotID >= 0 && hc.SlotID <= 8) { ActiveInventoryIndex = hc.SlotID; } else { Log.Write( new InvalidOperationException("Invalid holding slot id: " + hc.SlotID), this.Player ); } break; //Prevent non admins from getting items in creative case CreativeInventory.ID: if (Player.Admin(Permissions.CreativeBuild) == false) { Player.SendToClient(new EntityStatus(Player.EntityID, EntityStatuses.EntityHurt)); Player.TellSystem(Chat.Yellow, "Creative Inventory Disabled"); return; } CreativeInventory ci = (CreativeInventory)packet; if (0 <= ci.Slot && ci.Slot <= Inventory.Length) { Inventory[ci.Slot] = ci.Item; } break; //If block action is done from another region case PlayerBlockPlacement.ID: //AfkTime = DateTime.Now; //Non admins can't place block if (Mode == GameMode.Creative && (Player.Admin(Permissions.CreativeBuild) == false)) { Player.SendToClient(new EntityStatus(Player.EntityID, EntityStatuses.EntityHurt)); Player.TellSystem(Chat.Yellow, "Creative Build Disabled"); return; } PlayerBlockPlacement pb = (PlayerBlockPlacement)packet; if (pb.BlockPosition.IsNull() == false) { CoordDouble pos = pb.BlockPosition.CloneDouble(); region = RegionCrossing.GetRegion(pos, Dimension, World.Regions); //Remember the last position clicked so we can do better chest protection LastClickRegion = region; //this is obsolete since we moved to blocking open across regions } else { if (pb.Item != null) { Charge = new ChargeState(pb.Item.ItemID); } } if (FilterDirection(pb.BlockPosition)) { return; } if (region == null) { if (Dimension == 0 && FilterLava(pb)) { return; } } if (Protected.ProtectBlockPlace(this, region, pb)) { return; } break; case PlayerDigging.ID: //AfkTime = DateTime.Now; PlayerDigging pd = (PlayerDigging)packet; if (pd.Status == PlayerDigging.StatusEnum.FinishedDigging || pd.Status == PlayerDigging.StatusEnum.StartedDigging) { CoordDouble pos = pd.Position.CloneDouble(); region = RegionCrossing.GetRegion(pos, Dimension, World.Regions); } //Log breaking blocks to determine if they found the diamond if (pd.Status == PlayerDigging.StatusEnum.FinishedDigging) { OreTracker.BrokeBlock = DateTime.Now; } if (pd.Status == PlayerDigging.StatusEnum.ShootArrow) { Charge = null; } //Prevent non admin creative from digging if (Mode == GameMode.Creative && Player.Admin(Permissions.AnyAdmin) == false) { return; } if (FilterDirection(pd.Position)) { return; } if (Protected.ProtectBlockBreak(this, region, pd)) { return; } break; case WindowClick.ID: var wc = packet as WindowClick; if (wc.WindowID == 0) { //TODO: handle } //AfkTime = DateTime.Now; if (Protected.ProtectChestsClick(this, wc)) { return; } ///Workaround bug clicky items duplication if (wc.Item != null) { if (wc.Item.Count > 64) { return; } } break; case WindowCloseClient.ID: WindowClose((WindowCloseClient)packet); break; } if (region != null) { if (region.Type == SpawnRegion.Type) { if (SpawnRegion.FilterClient(Player, packet)) { return; } } if (region.Type == SpawnTimeRegion.Type) { if (SpawnTimeRegion.FilterClient(region, Player, packet)) { return; } } } SendToBackend(packet); }
public async Task <Result <bool> > AddUser(RegisterationViewModel userViewModel) { try { var user = new UserEntity { Name = userViewModel.Name, Email = userViewModel.Email, PhoneNumber = userViewModel.PhoneNumber, Address = userViewModel.Address, Type = userViewModel.Type, Picture = userViewModel.Picture, Gender = userViewModel.Gender, }; // Check for Type if (!Enum.IsDefined(typeof(EUserType), userViewModel.Type)) { throw new Exception(EResultMessage.NotUserType.ToString()); } // Add user Typr user.Type = userViewModel.Type; if (userViewModel.Password != userViewModel.RepeatPassword) { throw new Exception(EResultMessage.PasswordNotMatched.ToString()); } // Hash user password user.HashPassword = Protected.CreatePasswordHash(userViewModel.Password); // Add user var result = Add(user); if (result == null) { throw new Exception(EResultMessage.DatabaseError.ToString()); } SaveChanges(); var token = _tokenManager.GenerateUserToken(result).Token; var confirmLink = string.Format("{0}/api/user/confirm-account", _requestAttributes.AppBaseUrl); string body = File.ReadAllText("wwwroot/html/registartion.html"); body = body.Replace("{link-path}", confirmLink); body = body.Replace("{user-name}", user.Name); body = body.Replace("{user-id}", user.Id.ToString()); body = body.Replace("{user-token}", token); await _mailProvider.SendAsync(new MailMessageViewModel { From = MailProvider.SMTP_USER, To = user.Email, IsBodyHtml = true, Body = body, Subject = "Confirm your account on Got It" }); return(ResultHelper.Succeeded(true, message: EResultMessage.RegistrationDone.ToString())); } catch (DuplicateDataException) { return(ResultHelper.Failed(data: false, message: EResultMessage.EmailExists.ToString())); } catch (Exception e) { return(ResultHelper.Failed <bool>(message: e.Message)); } }
public object Get(Protected req) { return(new HttpResult(new ProtectedResponse())); }