private void Add_Click(object sender, RoutedEventArgs e) { try { FineModel fine = new FineModel() { IdDriver = LogicLicense.GetIdDriver(Driver.Text), Sum = double.Parse(Sum.Text), Description = Description.Text, IdInspector = Logic.SecurityContext.IdUser, FineDate = DateTime.Today }; LogicFine.SaveFine(fine); MessageBox.Show("Новый штраф успешно создан"); Fine fineList = new Fine(); fineList.Show(); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public static void SaveFine(FineModel fine) { DbContext.db.FIne.Add(fine); DbContext.db.SaveChanges(); }
public void FineCommand(Client player, string name = "", string surname = "", string amount = "", string reason = "") { if (name == string.Empty) { player.SendChatMessage(Constants.COLOR_HELP + Messages.GEN_FINE_COMMAND); } else if (player.GetData(EntityData.PLAYER_KILLED) != 0) { player.SendChatMessage(Constants.COLOR_ERROR + Messages.ERR_PLAYER_IS_DEAD); } else if (player.GetData(EntityData.PLAYER_ON_DUTY) == 0) { player.SendChatMessage(Constants.COLOR_ERROR + Messages.ERR_PLAYER_NOT_ON_DUTY); } else if (player.GetData(EntityData.PLAYER_FACTION) != Constants.FACTION_POLICE) { player.SendChatMessage(Constants.COLOR_ERROR + Messages.ERR_PLAYER_NOT_POLICE_FACTION); } else { Client target = null; if (int.TryParse(name, out int targetId) == true) { target = Globals.GetPlayerById(targetId); reason = amount; amount = surname; } else { target = NAPI.Player.GetPlayerFromName(name + " " + surname); } if (target != null && target.HasData(EntityData.PLAYER_PLAYING) == true) { if (player.Position.DistanceTo(target.Position) > 2.5f) { player.SendChatMessage(Constants.COLOR_ERROR + Messages.ERR_PLAYER_TOO_FAR); } else if (target == player) { player.SendChatMessage(Constants.COLOR_ERROR + Messages.ERR_PLAYER_FINED_HIMSELF); } else { string playerMessage = string.Format(Messages.INF_FINE_GIVEN, target.Name); string targetMessage = string.Format(Messages.INF_FINE_RECEIVED, player.Name); FineModel fine = new FineModel(); fine.officer = player.Name; fine.target = target.Name; fine.amount = int.Parse(amount); fine.reason = reason; player.SendChatMessage(Constants.COLOR_INFO + playerMessage); target.SendChatMessage(Constants.COLOR_INFO + targetMessage); Task.Factory.StartNew(() => { // Insert the fine into the database Database.InsertFine(fine); }); } } else { player.SendChatMessage(Constants.COLOR_ERROR + Messages.ERR_PLAYER_NOT_FOUND); } } }
public async Task <ActionResult> addUserFine() { FineModel fineId = new FineModel(); FineModel fineBuf = new FineModel(); fineId.NameFine = "Пересечение сплошной полосы"; fineId.AmountFine = 5000; UserModel userId = new UserModel(); UserModel userBuf = new UserModel(); userId.FIO = "Petrov Ivan"; userId.Adress = "Moscow Lenina 23"; userId.Phone = "89991234567"; userId.IdFines = 0; MachineModel autoId = new MachineModel(); MachineModel autoBuf = new MachineModel(); autoId.Mark = "Audi"; autoId.Model = "Q3"; autoId.Type = "Automobile"; autoId.Year = 2011; autoId.StateNumber = "o444oo77"; autoId.VIN = "WWW11S1234567890"; autoId.IdUsers = 0; try { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:50178/"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage res = await client.GetAsync("odata/UserInf?$filter=NameFines eq '" + fineId.NameFine + "'"); if (res.IsSuccessStatusCode) { var EmpResponse = res.Content.ReadAsStringAsync().Result; EmpResponse = EmpResponse.Remove(0, EmpResponse.IndexOf('[') + 1); EmpResponse = EmpResponse.Remove(EmpResponse.IndexOf(']'), 2); fineBuf = Newtonsoft.Json.JsonConvert.DeserializeObject <FineModel>(EmpResponse); } } } catch { throw new HttpException(400, "Bad Request"); } try { if (fineBuf == null) { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:50178/"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage res = await client.PostAsJsonAsync("api/DB", fineId); if (res.IsSuccessStatusCode) { var EmpResponse = res.Content.ReadAsStringAsync().Result; fineId = Newtonsoft.Json.JsonConvert.DeserializeObject <FineModel>(EmpResponse); } } } else { fineId = fineBuf; } } catch { throw new HttpException(400, "Bad Request"); } userId.IdFines = fineId.Id; try { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:50133/"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage res = await client.GetAsync("odata/UserInf?$filter=IdFines eq " + userId.IdFines + " and " + "FIO eq '" + userId.FIO + "' and Phone eq '" + userId.Phone + "'"); if (res.IsSuccessStatusCode) { var EmpResponse = res.Content.ReadAsStringAsync().Result; EmpResponse = EmpResponse.Remove(0, EmpResponse.IndexOf('[') + 1); EmpResponse = EmpResponse.Remove(EmpResponse.IndexOf(']'), 2); userBuf = Newtonsoft.Json.JsonConvert.DeserializeObject <UserModel>(EmpResponse); } } } catch { throw new HttpException(400, "Bad Request"); } try { if (userBuf == null) { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:50133/"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage res = await client.PostAsJsonAsync("api/DB", userId); if (res.IsSuccessStatusCode) { var EmpResponse = res.Content.ReadAsStringAsync().Result; userId = Newtonsoft.Json.JsonConvert.DeserializeObject <UserModel>(EmpResponse); } } } else { userId = userBuf; } } catch { throw new HttpException(400, "Bad Request"); } autoId.IdUsers = userId.Id; try { using (HttpClient test = new HttpClient()) { test.BaseAddress = new Uri("http://localhost:50078/"); test.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage res = await test.GetAsync("odata/UserInf?$filter=Mark eq '" + autoId.Mark + "' and " + "Model eq " + autoId.Model + " and Year eq " + autoId.Year + " and StateNumber eq " + autoId.StateNumber); if (res.IsSuccessStatusCode) { var EmpResponse = res.Content.ReadAsStringAsync().Result; EmpResponse = EmpResponse.Remove(0, EmpResponse.IndexOf('[') + 1); EmpResponse = EmpResponse.Remove(EmpResponse.IndexOf(']'), 2); autoBuf = Newtonsoft.Json.JsonConvert.DeserializeObject <MachineModel>(EmpResponse); } } } catch { throw new HttpException(400, "Bad Request"); } try { if (autoBuf == null) { using (HttpClient test = new HttpClient()) { test.BaseAddress = new Uri("http://localhost:50078/"); test.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage res = await test.PostAsJsonAsync("api/DB", autoId); if (res.IsSuccessStatusCode) { var EmpResponse = res.Content.ReadAsStringAsync().Result; autoId = Newtonsoft.Json.JsonConvert.DeserializeObject <MachineModel>(EmpResponse); } } } else { autoId = autoBuf; } } catch { throw new HttpException(400, "Bad Request"); } return(View()); }
public void FineCommand(Client player, string name = "", string surname = "", string amount = "", string reason = "") { if (name == string.Empty) { player.SendChatMessage(Constants.COLOR_HELP + Commands.HLP_FINE_COMMAND); } else if (player.GetData(EntityData.PLAYER_KILLED) != 0) { player.SendChatMessage(Constants.COLOR_ERROR + ErrRes.player_is_dead); } else if (player.GetData(EntityData.PLAYER_ON_DUTY) == 0) { player.SendChatMessage(Constants.COLOR_ERROR + ErrRes.player_not_on_duty); } else if (player.GetData(EntityData.PLAYER_FACTION) != Constants.FACTION_POLICE) { player.SendChatMessage(Constants.COLOR_ERROR + ErrRes.player_not_police_faction); } else { Client target = null; if (int.TryParse(name, out int targetId) == true) { target = Globals.GetPlayerById(targetId); reason = amount; amount = surname; } else { target = NAPI.Player.GetPlayerFromName(name + " " + surname); } if (target != null && target.HasData(EntityData.PLAYER_PLAYING) == true) { if (player.Position.DistanceTo(target.Position) > 2.5f) { player.SendChatMessage(Constants.COLOR_ERROR + ErrRes.player_too_far); } else if (target == player) { player.SendChatMessage(Constants.COLOR_ERROR + ErrRes.player_fined_himself); } else { FineModel fine = new FineModel(); { fine.officer = player.Name; fine.target = target.Name; fine.amount = int.Parse(amount); fine.reason = reason; } string playerMessage = string.Format(InfoRes.fine_given, target.Name); string targetMessage = string.Format(InfoRes.fine_received, player.Name); player.SendChatMessage(Constants.COLOR_INFO + playerMessage); target.SendChatMessage(Constants.COLOR_INFO + targetMessage); Task.Factory.StartNew(() => { // Insert the fine into the database Database.InsertFine(fine); }); } } else { player.SendChatMessage(Constants.COLOR_ERROR + ErrRes.player_not_found); } } }
public IHttpActionResult Get(SearchCriteria searchCriteria, string searchValue, bool includeAccount, bool onlyImageEvidence, bool onlyPayable) { var models = new List <FineModel>(); if (string.IsNullOrWhiteSpace(searchValue)) { return(Ok(models)); } var isWildCardSearch = searchValue.Contains("%"); searchValue = searchValue.Replace("%", string.Empty); using (var dbContext = new DataContext()) { //dbContext.Database.Log = f => Debug.WriteLine(f); var query = dbContext.OffenceRegister .AsNoTracking() .Include(f => f.Register) .Include(f => f.Register.District) .Include(f => f.Register.ReferenceVehicle) .Include(f => f.Court) .Include(f => f.Register.Person) .Include(f => f.Register.Person.AddressInfos) .Include(f => f.InfringementLocation) .Include(f => f.EvidenceLog) .Include(f => f.EvidenceLog.SpeedLog) .Include(f => f.EvidenceLog.ChargeInfos) .Include(f => f.Credential.User) .Include(f => f.EvidenceLog.HandWrittenCaptureLog); //var offences = query.OrderByDescending(f => f.InfringementDate).ToList(); if (searchCriteria == SearchCriteria.IDNumber) { query = isWildCardSearch ? query.Where(f => f.Register.Person.IDNumber.Contains(searchValue)) : query.Where(f => f.Register.Person.IDNumber == searchValue); } else if (searchCriteria == SearchCriteria.ReferenceNumber) { query = isWildCardSearch ? query.Where(f => f.ReferenceNumber.Contains(searchValue)) : query.Where(f => f.ReferenceNumber == searchValue); } else if (searchCriteria == SearchCriteria.VLN) { query = isWildCardSearch ? query.Where(f => f.VLN.Contains(searchValue)) : query.Where(f => f.VLN == searchValue); } else if (searchCriteria == SearchCriteria.TransactionToken) { var generatedReferenceNumber = dbContext.GeneratedReferenceNumbers.AsNoTracking().FirstOrDefault(f => f.ExternalToken == searchValue); if (generatedReferenceNumber == null) { return(Ok(new List <FineModel>())); } query = query.Where(f => f.ReferenceNumber == generatedReferenceNumber.ReferenceNumber); } else { return(Ok(new List <FineModel>())); } if (onlyPayable) { query = query.Where(f => f.Register.RegisterStatus < 3000); } var offences = query.OrderByDescending(f => f.InfringementDate).ToList(); foreach (var offence in offences) { var transactionToken = string.Empty; var generatedReferenceNumber = dbContext.GeneratedReferenceNumbers.FirstOrDefault(f => f.ReferenceNumber == offence.ReferenceNumber); if (generatedReferenceNumber != null) { transactionToken = generatedReferenceNumber.ExternalToken; } AddressInfo addressInfo = null; if (offence.Register.Person != null && offence.Register.Person.AddressInfos.Count > 0) { addressInfo = offence.Register.Person.AddressInfos.FirstOrDefault(f => f.AddressTypeID == Core.Data.Enums.AddressType.Phyiscal); } var model = new FineModel(); model.ReferenceNumber = offence.ReferenceNumber; model.TransactionToken = transactionToken; model.DistrictID = offence.DistrictID; model.DistrictName = offence.Register.District == null ? string.Empty : offence.Register.District.BranchName; model.PaymentOptions = offence.Register.District == null ? string.Empty : offence.Register.District.PaymentOptions; model.CourtID = offence.CourtID; model.CourtName = offence.Court == null ? string.Empty : offence.Court.CourtName; model.CourtDate = offence.CourtDate; model.OffenderIDType = offence.Register.Person == null ? 0 : offence.Register.Person.IDNumberType; model.OffenderIDNumber = offence.Register.Person == null ? string.Empty : offence.Register.Person.IDNumber; model.OffenderLastName = offence.Register.Person == null ? string.Empty : offence.Register.Person.LastName; model.OffenderFirstName = offence.Register.Person == null ? string.Empty : offence.Register.Person.FirstNames; model.OffenderEmail = offence.Register.Person == null ? string.Empty : offence.Register.Person.Email; model.OffenderMobileNumber = offence.Register.Person == null ? string.Empty : offence.Register.Person.MobileNumber; model.OffenderAddressLine1 = addressInfo == null ? string.Empty : addressInfo.Line1; model.OffenderAddressLine2 = addressInfo == null ? string.Empty : addressInfo.Line2; model.OffenderAddressSuburb = addressInfo == null ? string.Empty : addressInfo.Suburb; model.OffenderAddressTown = addressInfo == null ? string.Empty : addressInfo.Town; model.OfficerCredentialID = offence.CredentialID; model.OfficerFirstName = offence.Credential.User.FirstName; model.OfficerLastName = offence.Credential.User.LastName; model.ExternalID = offence.Credential.User.ExternalID; model.FirstPrintDate = offence.FirstPrintDate; model.VLN = offence.VLN; model.OffenceLocation = offence.InfringementLocation == null ? string.Empty : offence.InfringementLocation.Description; model.OffenceAmount = offence.CapturedAmount; model.OffenceDate = offence.InfringementDate; model.OutstandingAmount = offence.Register.OutstandingAmount; model.Status = (RegisterStatus)offence.Register.RegisterStatus; if (offence.Register.ReferenceVehicle != null) { model.VehicleMake = offence.Register.ReferenceVehicle.MakeDescription; model.VehicleModel = offence.Register.ReferenceVehicle.ModelDescription; } if ("NO ID AVAILABLE".Equals(model.OffenderIDNumber, StringComparison.InvariantCultureIgnoreCase)) { model.OffenderIDNumber = string.Empty; model.OffenderLastName = string.Empty; model.OffenderFirstName = string.Empty; model.OffenderEmail = string.Empty; model.OffenderMobileNumber = string.Empty; } if (offence.EvidenceLog != null) { if (offence.EvidenceLog.InfringementType == Core.Data.Enums.InfringementType.Speed && offence.EvidenceLog.SpeedLog != null) { model.OffenceSpeed = offence.EvidenceLog.SpeedLog.Speed; model.SpeedLimit = offence.EvidenceLog.SpeedLog.Zone; } if (offence.EvidenceLog.ChargeInfos != null) { model.FineChargeModels = offence.EvidenceLog.ChargeInfos.Select(f => new FineChargeModel { Code = f.OffenceCode.Code, Description = f.PrimaryDescription, SecondaryDescription = f.SecondaryDescription, ShortDescription = f.ShortDescription, FineAmount = f.OffenceCode.FineAmount, RegulationDescription = f.RegulationDescription }) .ToList(); } if (offence.EvidenceLog.InfringementEvidences != null) { if (onlyImageEvidence) { model.FineEvidenceModels = offence.EvidenceLog.InfringementEvidences .Where(f => f.EvidenceType != Core.Data.Enums.EvidenceType.VoiceRecording && f.EvidenceType != Core.Data.Enums.EvidenceType.Other && !f.FileName.Contains(".sml")) .Select(f => new FineEvidenceModel { ID = f.ID, ReferenceNumber = model.ReferenceNumber, EvidenceType = (EvidenceType)f.EvidenceType, MimeType = f.MimeType }) .ToList(); } else { model.FineEvidenceModels = offence.EvidenceLog.InfringementEvidences .Where(f => !f.FileName.Contains(".sml")) .Select(f => new FineEvidenceModel { ID = f.ID, ReferenceNumber = model.ReferenceNumber, EvidenceType = (EvidenceType)f.EvidenceType, MimeType = f.MimeType }) .ToList(); } } } if (offence.EvidenceLog.HandWrittenCaptureLog != null) { model.OffenceSpeed = offence.EvidenceLog.HandWrittenCaptureLog.Speed; var chargeWithZone = offence.EvidenceLog.ChargeInfos.FirstOrDefault(f => f.OffenceCode != null && f.OffenceCode.Zone.HasValue && f.OffenceCode.Zone.Value > 0); if (chargeWithZone != null) { model.SpeedLimit = chargeWithZone.OffenceCode.Zone; } model.OffenceLocation = offence.EvidenceLog.HandWrittenCaptureLog.OffenceLocationStreet; if (!string.IsNullOrWhiteSpace(offence.EvidenceLog.HandWrittenCaptureLog.OffenceLocationSuburb)) { model.OffenceLocation += string.Format("\n{0}", offence.EvidenceLog.HandWrittenCaptureLog.OffenceLocationSuburb); } if (!string.IsNullOrWhiteSpace(offence.EvidenceLog.HandWrittenCaptureLog.OffenceLocationTown)) { model.OffenceLocation += string.Format("\n{0}", offence.EvidenceLog.HandWrittenCaptureLog.OffenceLocationTown); } } if (includeAccount) { var accountTransactions = dbContext.AccountTransactions .AsNoTracking() .Where(f => f.AccountID == offence.Register.AccountID && f.ReferenceNumber == offence.ReferenceNumber) .OrderBy(f => f.CreatedTimestamp) .ToList(); model.AccountTransactionModels = accountTransactions.Select(f => new AccountTransactionModel { CreatedTimestamp = f.CreatedTimestamp, Description = f.Description, Amount = f.Amount }).ToList(); } models.Add(model); } return(Ok(models)); } }