правки :)

This commit is contained in:
Табеев Александр 2024-05-30 06:35:15 +04:00
parent 295e3ee360
commit 128580bce8
5 changed files with 48 additions and 28 deletions

View File

@ -8,6 +8,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace ServiceStationBusinessLogic.BusinessLogics
@ -120,16 +121,21 @@ namespace ServiceStationBusinessLogic.BusinessLogics
throw new ArgumentNullException("Нет ФИО поручителя", nameof(model.GuarantorFIO));
}
if (string.IsNullOrEmpty(model.GuarantorPassword))
if (string.IsNullOrEmpty(model.GuarantorPassword) || !Regex.IsMatch(model.GuarantorPassword, @"^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$", RegexOptions.IgnoreCase))
{
throw new ArgumentNullException("Нет пароля поручителя", nameof(model.GuarantorPassword));
throw new ArgumentNullException("Пароль введен некорректно", nameof(model.GuarantorPassword));
}
if (string.IsNullOrEmpty(model.GuarantorNumber))
if (string.IsNullOrEmpty(model.GuarantorNumber) || !Regex.IsMatch(model.GuarantorNumber, @"^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$", RegexOptions.IgnoreCase))
{
throw new ArgumentNullException("Нет номера телефона поручителя", nameof(model.GuarantorNumber));
}
if (string.IsNullOrEmpty(model.GuarantorEmail) || !Regex.IsMatch(model.GuarantorEmail, @"([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)", RegexOptions.IgnoreCase))
{
throw new ArgumentNullException("Почта введена некорректно", nameof(model.GuarantorEmail));
}
_logger.LogInformation("Guarantor. GuarantorFIO:{GuarantorFIO}.GuarantorPassword:{GuarantorPassword}.GuarantorNumber:{GuarantorNumber} Id: {Id}", model.GuarantorFIO, model.GuarantorPassword, model.GuarantorNumber, model.Id);
var element = _guarantorStorage.GetElement(new GuarantorSearchModel
@ -137,10 +143,14 @@ namespace ServiceStationBusinessLogic.BusinessLogics
GuarantorNumber = model.GuarantorNumber
});
if (element != null && element.Id != model.Id)
if (element != null)
{
throw new InvalidOperationException("Поручитель с таким номером уже есть");
}
if (model.GuarantorNumber[0] == '+')
{
model.GuarantorNumber.TrimStart('+');
}
}
}
}

View File

@ -51,6 +51,15 @@ namespace ServiceStationDatabaseImplement.Implements
.FirstOrDefault(x => x.GuarantorNumber.Contains(model.GuarantorNumber) && x.GuarantorPassword.Contains(model.GuarantorPassword))?
.GetViewModel;
}
if (!string.IsNullOrEmpty(model.GuarantorNumber))
{
return context.Guarantors
.Include(x => x.SpareParts)
.Include(x => x.Repairs)
.Include(x => x.Works)
.FirstOrDefault(x => x.GuarantorNumber.Contains(model.GuarantorNumber))?
.GetViewModel;
}
return context.Guarantors
.Include(x => x.SpareParts)
.Include(x => x.Repairs)

View File

@ -222,17 +222,17 @@ namespace ServiceStationDatabaseImplement.Migrations
constraints: table =>
{
table.PrimaryKey("PK_SparePartRepairs", x => x.Id);
table.ForeignKey(
name: "FK_SparePartRepairs_Repairs_RepairId",
column: x => x.RepairId,
principalTable: "Repairs",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_SparePartRepairs_SpareParts_SparePartId",
column: x => x.SparePartId,
principalTable: "SpareParts",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_SparePartRepairs_Repairs_RepairId",
column: x => x.RepairId,
principalTable: "Repairs",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
@ -328,16 +328,16 @@ namespace ServiceStationDatabaseImplement.Migrations
table: "Repairs",
column: "GuarantorId");
migrationBuilder.CreateIndex(
name: "IX_SparePartRepairs_RepairId",
table: "SparePartRepairs",
column: "RepairId");
migrationBuilder.CreateIndex(
name: "IX_SparePartRepairs_SparePartId",
table: "SparePartRepairs",
column: "SparePartId");
migrationBuilder.CreateIndex(
name: "IX_SparePartRepairs_RepairId",
table: "SparePartRepairs",
column: "RepairId");
migrationBuilder.CreateIndex(
name: "IX_SpareParts_GuarantorId",
table: "SpareParts",

View File

@ -241,18 +241,18 @@ namespace ServiceStationDatabaseImplement.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("RepairId")
.HasColumnType("int");
b.Property<int>("SparePartId")
.HasColumnType("int");
b.Property<int>("RepairId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("RepairId");
b.HasIndex("SparePartId");
b.HasIndex("RepairId");
b.ToTable("SparePartRepairs");
});
@ -430,21 +430,22 @@ namespace ServiceStationDatabaseImplement.Migrations
modelBuilder.Entity("ServiceStationDatabaseImplement.Models.SparePartRepair", b =>
{
b.HasOne("ServiceStationDatabaseImplement.Models.Repair", "Repair")
.WithMany("SpareParts")
.HasForeignKey("RepairId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("ServiceStationDatabaseImplement.Models.SparePart", "SparePart")
.WithMany("SparePartRepairs")
.HasForeignKey("SparePartId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Repair");
b.HasOne("ServiceStationDatabaseImplement.Models.Repair", "Repair")
.WithMany("SpareParts")
.HasForeignKey("RepairId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("SparePart");
b.Navigation("Repair");
});
modelBuilder.Entity("ServiceStationDatabaseImplement.Models.SparePartWork", b =>

View File

@ -39,7 +39,7 @@ namespace ServiceStationRestApi.Controllers
{
return _glogic.ReadElement(new GuarantorSearchModel
{
GuarantorNumber = guarantorNumber,
GuarantorNumber = guarantorNumber.TrimStart(' '),
GuarantorPassword = password
});
}