Changeset 0a694bb for FarmatikoData


Ignore:
Timestamp:
02/07/21 16:25:56 (4 years ago)
Author:
Dimitar Slezenkovski <dslezenkovski@…>
Branches:
master
Children:
e0cdea2
Parents:
ac51326
Message:

Fix create new user bug.

Location:
FarmatikoData
Files:
8 edited
2 moved

Legend:

Unmodified
Added
Removed
  • FarmatikoData/DTOs/PharmacyDTO.cs

    rac51326 r0a694bb  
    1111        [JsonProperty("name")]
    1212        public string Name { get; set; }
    13         [JsonProperty("Location")]
     13        [JsonProperty("location")]
    1414        public string Location { get; set; }
    1515        [JsonProperty("address")]
    1616        public string Address { get; set; }
    17         [JsonProperty("workalltime")]
     17        [JsonProperty("workAllTime")]
    1818        public bool WorkAllTime { get; set; }
    1919        [JsonProperty("headName")]
  • FarmatikoData/FarmatikoDataContext.cs

    rac51326 r0a694bb  
    3838                .ToTable("PHRequests");
    3939
     40            modelBuilder.Entity<PharmacyHead>()
     41                .Property(p => p.Id)
     42                .ValueGeneratedOnAdd();
     43
    4044            /*modelBuilder.Entity<Medicine>()
    4145                .Property(x => x.Id)
     
    7478                .WithMany(p => p.Pharmacy);
    7579            */
    76            
     80
    7781            base.OnModelCreating(modelBuilder);
    7882        }
  • FarmatikoData/FarmatikoRepo/Repository.cs

    rac51326 r0a694bb  
    7171                Address = x.Address,
    7272                WorkAllTime = x.WorkAllTime,
    73                 PheadId = x.PheadId
     73                PheadId = x.PheadId,
     74                PharmacyHead = x.PharmacyHead
    7475            }).Take(5).ToListAsync();
    7576            return Pharmacies;
     
    9192        {
    9293            var SearchQuery = await _context.HealthFacilities
    93             .Where(x => x.Name.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0)
     94            .Where(x => x.Name.ToLowerInvariant().Contains(query.ToLowerInvariant()))
    9495            .OrderBy(x => x.Name).ToListAsync();
    9596
     
    100101        {
    101102            var SearchQuery = await _context.Medicines
    102             .Where(x => x.Name.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0)
     103            .Where(x => x.Name.ToLowerInvariant().Contains(query.ToLowerInvariant()))
    103104            .OrderBy(x => x.Name).ToListAsync();
    104105
     
    109110        {
    110111            var SearchQuery = await _context.Pharmacies
    111             .Where(x => x.Name.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0)
     112            .Where(x => x.Name.ToLowerInvariant().Contains(query.ToLowerInvariant()))
    112113            .OrderBy(x => x.Name).ToListAsync();
    113114
     
    118119        {
    119120            var SearchQuery = await _context.HealthcareWorkers
    120             .Where(x => x.Name.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0)
     121            .Where(x => x.Name.ToLowerInvariant().Contains(query.ToLowerInvariant()))
    121122            .OrderBy(x => x.Name).ToListAsync();
    122123
     
    154155            if (pharmacyHead.Id == 0)
    155156            {
    156                 var pheads = await _context.PharmacyHeads.ToListAsync();
    157                 if (!pheads.Select(x => x.Equals(pharmacyHead)).FirstOrDefault())
     157                var pheads = await _context.PharmacyHeads.Select(x => new PharmacyHead
     158                {
     159                    Name = x.Name,
     160                    Email = x.Email
     161                }).ToListAsync();
     162                var pheadusr = pheads.Where(x => x.Email.Equals(pharmacyHead.Email)).ToList();
     163                if (pheadusr == null || pheadusr.Count() == 0)
    158164                {
    159165                    await _context.PharmacyHeads.AddAsync(pharmacyHead);
     
    285291        }
    286292
    287         public async Task AddUser(User user)
     293        public async Task<bool> AddUser(User user)
    288294        {
    289295            if (user.Id == 0)
    290296            {
    291                 var users = await _context.Users.ToListAsync();
    292                 if (!users.Select(x => x.Equals(user)).FirstOrDefault())
     297                var users = await _context.Users.Select(x => new User
     298                {
     299                    Name = x.Name,
     300                    Email = x.Email,
     301                    Password = x.Password,
     302                    UserRole = x.UserRole
     303                }).ToListAsync();
     304                var usr = users.Where(x => x.Email.Equals(user.Email)).ToList();
     305                if (usr != null || usr.Count() > 0)
     306                {
     307                    return true;
     308                }
     309                else
    293310                {
    294311                    await _context.Users.AddAsync(user);
    295312                    await _context.SaveChangesAsync();
     313                    return true;
    296314                }
    297315            }
     316            return false;
    298317        }
    299318
    300319        public async Task<List<PharmacyHeadMedicine>> GetAllPHMedicines()
    301320        {
    302             var list = await _context.PharmacyHeadMedicines.ToListAsync();
     321            var list = await _context.PharmacyHeadMedicines.Select(x => new PharmacyHeadMedicine
     322            {
     323                PheadId = x.PheadId,
     324                Head = x.Head,
     325                MedicineId = x.MedicineId,
     326                Medicine = x.Medicine
     327            }
     328            ).ToListAsync();
    303329            return list;
    304330        }
  • FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs

    rac51326 r0a694bb  
    4646        User GetRole(string userName);
    4747        ICollection<PharmacyHeadMedicine> GetPHMedicines(string email);
    48         Task AddUser(User user);
     48        Task<bool> AddUser(User user);
    4949    }
    5050}
  • FarmatikoData/Migrations/20210205174704_Initial-Migration.Designer.cs

    rac51326 r0a694bb  
    1111{
    1212    [DbContext(typeof(FarmatikoDataContext))]
    13     [Migration("20210124191844_InitialMigration")]
     13    [Migration("20210205174704_Initial-Migration")]
    1414    partial class InitialMigration
    1515    {
     
    101101                        .ValueGeneratedOnAdd()
    102102                        .HasColumnType("integer")
    103                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    104103                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    105104
     
    188187                        .ValueGeneratedOnAdd()
    189188                        .HasColumnType("integer")
    190                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    191189                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    192190
     
    230228                        .ValueGeneratedOnAdd()
    231229                        .HasColumnType("integer")
    232                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    233230                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    234231
     
    251248                        .HasColumnType("text");
    252249
    253                     b.Property<int?>("UserId")
    254                         .HasColumnType("integer");
    255 
    256                     b.HasKey("Id");
    257 
    258                     b.HasIndex("UserId");
     250                    b.Property<int>("UserID")
     251                        .HasColumnType("integer");
     252
     253                    b.HasKey("Id");
     254
     255                    b.HasIndex("UserID");
    259256
    260257                    b.ToTable("PharmacyHeads");
     
    266263                        .ValueGeneratedOnAdd()
    267264                        .HasColumnType("integer")
    268                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    269265                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    270266
     
    298294                        .ValueGeneratedOnAdd()
    299295                        .HasColumnType("integer")
    300                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    301296                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    302297
     
    375370                    b.HasOne("FarmatikoData.Models.User", "User")
    376371                        .WithMany()
    377                         .HasForeignKey("UserId");
     372                        .HasForeignKey("UserID")
     373                        .OnDelete(DeleteBehavior.Cascade)
     374                        .IsRequired();
    378375                });
    379376
  • FarmatikoData/Migrations/20210205174704_Initial-Migration.cs

    rac51326 r0a694bb  
    1515                    Id = table.Column<int>(nullable: false)
    1616                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
    17                     CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
     17                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql:"now()"),
    1818                    DeletedOn = table.Column<DateTime>(nullable: true),
    1919                    Name = table.Column<string>(nullable: false),
     
    125125                    Name = table.Column<string>(nullable: false),
    126126                    Password = table.Column<string>(nullable: false),
    127                     UserId = table.Column<int>(nullable: true)
     127                    UserID = table.Column<int>(nullable: false)
    128128                },
    129129                constraints: table =>
     
    131131                    table.PrimaryKey("PK_PharmacyHeads", x => x.Id);
    132132                    table.ForeignKey(
    133                         name: "FK_PharmacyHeads_Users_UserId",
    134                         column: x => x.UserId,
     133                        name: "FK_PharmacyHeads_Users_UserID",
     134                        column: x => x.UserID,
    135135                        principalTable: "Users",
    136136                        principalColumn: "Id",
    137                         onDelete: ReferentialAction.Restrict);
     137                        onDelete: ReferentialAction.Cascade);
    138138                });
    139139
     
    172172                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
    173173                    DeletedOn = table.Column<DateTime>(nullable: true),
    174                     PheadId = table.Column<int>(nullable: true),
     174                    PheadId = table.Column<int>(nullable: false),
    175175                    HeadId = table.Column<int>(nullable: true),
    176                     MedicineId = table.Column<int>(nullable: true)
     176                    MedicineId = table.Column<int>(nullable: false)
    177177                },
    178178                constraints: table =>
     
    242242
    243243            migrationBuilder.CreateIndex(
    244                 name: "IX_PharmacyHeads_UserId",
     244                name: "IX_PharmacyHeads_UserID",
    245245                table: "PharmacyHeads",
    246                 column: "UserId");
     246                column: "UserID");
    247247
    248248            migrationBuilder.CreateIndex(
  • FarmatikoData/Migrations/FarmatikoDataContextModelSnapshot.cs

    rac51326 r0a694bb  
    9999                        .ValueGeneratedOnAdd()
    100100                        .HasColumnType("integer")
    101                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    102101                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    103102
     
    186185                        .ValueGeneratedOnAdd()
    187186                        .HasColumnType("integer")
    188                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    189187                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    190188
     
    228226                        .ValueGeneratedOnAdd()
    229227                        .HasColumnType("integer")
    230                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    231228                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    232229
     
    249246                        .HasColumnType("text");
    250247
    251                     b.Property<int?>("UserId")
    252                         .HasColumnType("integer");
    253 
    254                     b.HasKey("Id");
    255 
    256                     b.HasIndex("UserId");
     248                    b.Property<int>("UserID")
     249                        .HasColumnType("integer");
     250
     251                    b.HasKey("Id");
     252
     253                    b.HasIndex("UserID");
    257254
    258255                    b.ToTable("PharmacyHeads");
     
    264261                        .ValueGeneratedOnAdd()
    265262                        .HasColumnType("integer")
    266                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    267263                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    268264
     
    296292                        .ValueGeneratedOnAdd()
    297293                        .HasColumnType("integer")
    298                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    299294                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    300295
     
    373368                    b.HasOne("FarmatikoData.Models.User", "User")
    374369                        .WithMany()
    375                         .HasForeignKey("UserId");
     370                        .HasForeignKey("UserID")
     371                        .OnDelete(DeleteBehavior.Cascade)
     372                        .IsRequired();
    376373                });
    377374
  • FarmatikoData/Models/Medicine.cs

    rac51326 r0a694bb  
    2323        public string Packaging { get; set; }
    2424        //[JsonPropertyName("PHMedicineList")]
    25         public ICollection<PharmacyHeadMedicine> Medicines { get; set; }
     25        public virtual ICollection<PharmacyHeadMedicine> Medicines { get; set; }
    2626        public Medicine(string Name, string Strength, string Form, string WayOfIssuing, string Manufacturer, float Price, string Packaging)
    2727        {
  • FarmatikoData/Models/Pharmacy.cs

    rac51326 r0a694bb  
    55using FarmatikoData.Base;
    66using Microsoft.EntityFrameworkCore;
     7using Newtonsoft.Json;
    78
    89namespace FarmatikoData.Models
     
    1213        public Pharmacy() { }
    1314        [Required]
     15        [JsonProperty("name")]
    1416        public string Name { get; set; }
    1517        [Required]
     18        [JsonProperty("location")]
    1619        public string Location { get; set; }
    1720        [Required]
     21        [JsonProperty("address")]
    1822        public string Address { get; set; }
    1923        [Required]
     24        [JsonProperty("workAllTime")]
    2025        public bool WorkAllTime { get; set; }
    2126        public Pharmacy(string Name, string Location, string Address, bool WorkAllTime)
  • FarmatikoData/Models/PharmacyHead.cs

    rac51326 r0a694bb  
    2424        public virtual List<Pharmacy> Pharmacies { get; set; }
    2525        public virtual List<PharmacyHeadMedicine> Medicines { get; set; }
    26        
     26
     27        public int UserID { get; set; }
    2728        public User User { get; set; }
    2829
Note: See TracChangeset for help on using the changeset viewer.