Compare commits

...

16 Commits

Author SHA1 Message Date
ffb9e6508f Added the API to Map Purchase Order Status with child 2025-10-31 14:44:38 +05:30
8a36ffe652 Added the API to Map Requisition Status with child 2025-10-31 13:21:13 +05:30
28d64c71bd Made Requisition Status Mapping Nullable 2025-10-31 10:22:37 +05:30
a05f1ba5c3 Added the Compeny type master and data 2025-10-31 10:11:09 +05:30
25896d3093 Added the data for company types and units and Added the get APIs for this masters 2025-10-30 11:58:16 +05:30
7e90e4a703 Changed the check to check id model id and id from query is same 2025-10-29 11:37:09 +05:30
d1af0df27b Changed the check to check if current tenant is super tenant 2025-10-29 11:10:57 +05:30
511ad38c94 Added the Product Category master APIs 2025-10-29 10:58:06 +05:30
ad273ed58e Changed Item To Product And Country Master Table And Data 2025-10-28 18:15:40 +05:30
ca07dea389 Removed the AsNoTraking in PurchaseOrderStatus edit API 2025-10-27 16:27:14 +05:30
6377cee718 Changed the API methods 2025-10-27 15:59:33 +05:30
0e698a8a0d Added the default to isActive parameter in delete status APIs 2025-10-27 15:56:44 +05:30
3d37050dff Corrected the check for sattus ids in edit APIs 2025-10-27 15:36:11 +05:30
df999ed2c5 Added the mapping for status in inventroy 2025-10-27 14:54:26 +05:30
468f50f2da Added the Requisition Status and Purchase Order Status in master list 2025-10-27 14:48:35 +05:30
fba12f577d Added the Inventory relasted Tables and master APIs of Purchase Order Status and Requisition Status 2025-10-27 14:37:02 +05:30
69 changed files with 60190 additions and 13 deletions

View File

@ -8,6 +8,7 @@ using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Entitlements;
using Marco.Pms.Model.Expenses;
using Marco.Pms.Model.Forum;
using Marco.Pms.Model.Inventory;
using Marco.Pms.Model.Mail;
using Marco.Pms.Model.Master;
using Marco.Pms.Model.OrganizationModel;
@ -141,6 +142,33 @@ namespace Marco.Pms.DataAccess.Data
public DbSet<ReceivedInvoicePayment> ReceivedInvoicePayments { get; set; }
public DbSet<PaymentAdjustmentHead> PaymentAdjustmentHeads { get; set; }
// Inventory
public DbSet<ProductDetail> ProductDetails { get; set; }
public DbSet<ProductCategoryMaster> ProductCategoryMasters { get; set; }
public DbSet<Product> Products { get; set; }
public DbSet<ProductSupplierMapping> ProductSupplierMappings { get; set; }
public DbSet<ProductTaxTypeMapping> ProductTaxTypeMappings { get; set; }
public DbSet<PurchaseOrder> PurchaseOrders { get; set; }
public DbSet<PurchaseOrderStatus> PurchaseOrderStatus { get; set; }
public DbSet<PurchaseOrderStatusLogs> PurchaseOrderStatusLogs { get; set; }
public DbSet<PurchaseStatusEmployeeMapping> PurchaseStatusEmployeeMappings { get; set; }
public DbSet<PurchaseStatusMapping> PurchaseStatusMappings { get; set; }
public DbSet<Requisition> Requisitions { get; set; }
public DbSet<RequisitionStatus> RequisitionStatus { get; set; }
public DbSet<RequisitionStatusEmployeeMapping> RequisitionStatusEmployeeMappings { get; set; }
public DbSet<RequisitionStatusLogs> RequisitionStatusLogs { get; set; }
public DbSet<RequisitionStatusMapping> RequisitionStatusMappings { get; set; }
public DbSet<CompanyTypeMaster> CompanyTypeMasters { get; set; }
public DbSet<Supplier> Suppliers { get; set; }
public DbSet<SupplierStateMapping> SupplierStateMappings { get; set; }
public DbSet<Manufacturer> Manufacturers { get; set; }
public DbSet<ServicesTaxType> ServicesTaxTypes { get; set; }
public DbSet<StateMaster> StateMasters { get; set; }
public DbSet<CountryMaster> CountryMasters { get; set; }
public DbSet<TaxSlabMaster> TaxSlabMasters { get; set; }
public DbSet<TechnicalUnit> TechnicalUnits { get; set; }
public DbSet<UnitType> UnitTypes { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
@ -467,6 +495,7 @@ namespace Marco.Pms.DataAccess.Data
.WithMany()
.HasForeignKey(ar => ar.TenantId);
// Configure the relationship between ApplicationRole and FeaturePermission via a join table
modelBuilder.Entity<RolePermissionMappings>(entity =>
{
entity.HasKey(rfp => new { rfp.ApplicationRoleId, rfp.FeaturePermissionId });
@ -480,8 +509,6 @@ namespace Marco.Pms.DataAccess.Data
.HasForeignKey(rfp => rfp.FeaturePermissionId);
});
modelBuilder.Entity<ExpensesStatusMaster>().HasData(
new ExpensesStatusMaster
{
@ -1072,6 +1099,688 @@ namespace Marco.Pms.DataAccess.Data
}
);
modelBuilder.Entity<ProductCategoryMaster>().HasData(
new ProductCategoryMaster { Id = Guid.Parse("2e097d8b-63a2-4b96-8c55-61c2826f1001"), Name = "Civil/Structural", ShortName = "CIV", Description = "Materials, components, and systems used in civil and structural engineering, including concrete, steel, reinforcement, and construction accessories.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("b5c4f7b3-bf24-4f19-9b5c-2deb12131002"), Name = "Electrical", ShortName = "ELE", Description = "Cables, lighting, wiring devices, control panels, transformers, and electrical distribution systems for building and industrial use.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("e0e7d2cf-0438-4acd-aa1e-09304d5b1003"), Name = "Electronics/ICT", ShortName = "ICT", Description = "Electronic and communication products including data cabling, networking equipment, surveillance systems, and audio-visual devices.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("6089cc9c-70dd-4d3a-8b68-0c7c79371004"), Name = "Mechanical & Power Transmission", ShortName = "MEC", Description = "Mechanical components and systems such as pumps, motors, gearboxes, bearings, compressors, and power transmission equipment.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("a4ad945b-9213-4f4f-b823-b8c277871005"), Name = "Plumbing & Sanitary", ShortName = "PLU", Description = "Pipes, fittings, valves, sanitary fixtures, and drainage systems used for water supply and waste management.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("d77d7b2c-83a3-44e9-8dea-62ee85bb1006"), Name = "HVAC", ShortName = "HVA", Description = "Heating, ventilation, and air conditioning equipment including chillers, ducts, diffusers, and air handling units.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("adbd1c50-e845-4b52-9406-2f1e1c881007"), Name = "Fire & Safety", ShortName = "FIR", Description = "Firefighting systems, alarms, extinguishers, safety gear, and related safety infrastructure.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("ac930654-b973-4d5c-b13b-06e6815c1008"), Name = "Plant, Machinery & Material Handling", ShortName = "PLA", Description = "Industrial machinery, plant equipment, forklifts, cranes, and material handling systems.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("57b4ccf4-9e34-422d-b2c9-0a16d9c91009"), Name = "Tools & Equipment", ShortName = "TOO", Description = "Hand tools, power tools, measuring instruments, and workshop equipment for industrial and maintenance use.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("db8c7b16-b6c4-463e-9a59-6558a837100a"), Name = "Office Supplies & Stationery", ShortName = "OFF", Description = "General office supplies including stationery, furniture, printers, and consumables for daily operations.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("fb081cf7-fef2-4d91-a052-4922d20d100b"), Name = "IT, Computing & Networking", ShortName = "ITC", Description = "Computers, servers, storage devices, network accessories, and related IT infrastructure.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("bbdc04bb-d930-428c-aabc-72e198ea100c"), Name = "Packaging, Consumables, Chemicals & Lubricants", ShortName = "PAC", Description = "Industrial packaging materials, adhesive tapes, cleaning agents, lubricants, and operational consumables.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("d9677af1-6f91-44da-b12e-0f7ab00c100d"), Name = "Building Materials & Finishes", ShortName = "BLD", Description = "Cement, tiles, paints, glass, flooring, and other architectural finishing materials.", IsActive = true },
new ProductCategoryMaster { Id = Guid.Parse("cd59914f-4e6b-47eb-8d2a-eecb85bc100e"), Name = "Automotive & Fleet", ShortName = "AUT", Description = "Vehicles, fleet equipment, spare parts, lubricants, and accessories for automotive applications.", IsActive = true }
);
modelBuilder.Entity<UnitType>().HasData(
new UnitType
{
Id = Guid.Parse("21dc7d85-1018-479f-8e4a-3b52294903ea"),
Name = "Length",
Description = "Measures the extent of an object or distance between two points in space."
},
new UnitType
{
Id = Guid.Parse("d47a54aa-de46-4aec-9bd6-276b046d35ac"),
Name = "Mass",
Description = "Represents the amount of matter in an object."
},
new UnitType
{
Id = Guid.Parse("7ef849c0-0979-4a6c-87ad-9aefb8675679"),
Name = "Time",
Description = "Measures the duration or interval between events."
},
new UnitType
{
Id = Guid.Parse("2ecfd89f-8c90-4664-a72e-911b7ad29646"),
Name = "Electric Current",
Description = "Measures the flow of electric charge."
},
new UnitType
{
Id = Guid.Parse("a0dd396c-943a-49cd-87e9-24e1fc9cf1b3"),
Name = "Thermodynamic Temperature",
Description = "Measures the heat or thermal energy level of a system."
},
new UnitType
{
Id = Guid.Parse("b1c4b844-1b85-4601-a575-4992c47533ac"),
Name = "Amount of Substance",
Description = "Counts the number of elementary entities(atoms, molecules, etc.) in a sample."
},
new UnitType
{
Id = Guid.Parse("abc1b8cc-fcaf-4e45-8b72-e47036166fbc"),
Name = "Luminous Intensity",
Description = "Measures the perceived brightness of light emitted from a source."
},
new UnitType
{
Id = Guid.Parse("d1300314-3db6-48c6-b5d2-5542d30d18ea"),
Name = "Area",
Description = "Measures the size of a surface."
},
new UnitType
{
Id = Guid.Parse("806e3b0a-306e-427e-8206-610c1c618cd8"),
Name = "Speed",
Description = "Measures how fast an object moves, i.e., distance traveled per unit time."
},
new UnitType
{
Id = Guid.Parse("52733b8a-04bc-4eb7-bade-9f7869283473"),
Name = "Volume",
Description = "Measures the three - dimensional space occupied by a substance or object."
}
);
modelBuilder.Entity<TechnicalUnit>().HasData(
// Length
new TechnicalUnit { Id = Guid.Parse("fae4dd36-e9eb-49a4-bcaa-9e723fd43069"), Name = "Meter", Description = "SI base unit of length", UnitTypeId = Guid.Parse("21dc7d85-1018-479f-8e4a-3b52294903ea") },
new TechnicalUnit { Id = Guid.Parse("131b4588-aba2-479c-a1e5-0ad461f16329"), Name = "Kilometer", Description = "1000 meters; commonly used for large distances", UnitTypeId = Guid.Parse("21dc7d85-1018-479f-8e4a-3b52294903ea") },
new TechnicalUnit { Id = Guid.Parse("9f758559-e5a0-40b9-a21f-f9bd5ddd1e9b"), Name = "Centimeter", Description = "0.01 meter; used for small lengths", UnitTypeId = Guid.Parse("21dc7d85-1018-479f-8e4a-3b52294903ea") },
new TechnicalUnit { Id = Guid.Parse("8ce98c62-83f3-4a45-afb0-32d4e3edfb9c"), Name = "Millimeter", Description = "0.001 meter; for very small lengths", UnitTypeId = Guid.Parse("21dc7d85-1018-479f-8e4a-3b52294903ea") },
new TechnicalUnit { Id = Guid.Parse("2e7d1cad-4c26-408c-9b70-dd0dc0dcc145"), Name = "Inch", Description = "Non-SI unit; equal to 0.0254 meters", UnitTypeId = Guid.Parse("21dc7d85-1018-479f-8e4a-3b52294903ea") },
new TechnicalUnit { Id = Guid.Parse("088630c5-6866-49ea-afab-cb6c0d3d0ebb"), Name = "Foot", Description = "Non-SI unit; equal to 0.3048 meters", UnitTypeId = Guid.Parse("21dc7d85-1018-479f-8e4a-3b52294903ea") },
new TechnicalUnit { Id = Guid.Parse("4769e008-5e0c-4b60-b434-b23060966d54"), Name = "Mile", Description = "Non-SI unit; equal to 1609.34 meters", UnitTypeId = Guid.Parse("21dc7d85-1018-479f-8e4a-3b52294903ea") },
// Mass
new TechnicalUnit { Id = Guid.Parse("8392eab5-7b8c-4785-873b-81072566b876"), Name = "Kilogram", Description = "SI base unit of mass", UnitTypeId = Guid.Parse("d47a54aa-de46-4aec-9bd6-276b046d35ac") },
new TechnicalUnit { Id = Guid.Parse("6df17071-6506-46dc-bd81-326391941dfa"), Name = "Gram", Description = "0.001 kilogram", UnitTypeId = Guid.Parse("d47a54aa-de46-4aec-9bd6-276b046d35ac") },
new TechnicalUnit { Id = Guid.Parse("26f6a207-5c8a-43a5-91f3-33eb1f46227f"), Name = "Milligram", Description = "0.000001 kilogram", UnitTypeId = Guid.Parse("d47a54aa-de46-4aec-9bd6-276b046d35ac") },
new TechnicalUnit { Id = Guid.Parse("356a2536-5b0b-4128-baaa-306245068d3c"), Name = "Metric ton", Description = "1000 kilograms", UnitTypeId = Guid.Parse("d47a54aa-de46-4aec-9bd6-276b046d35ac") },
new TechnicalUnit { Id = Guid.Parse("e0009850-0d6a-4ed0-bf9b-daf1354869f7"), Name = "Pound", Description = "Non-SI unit; equal to 0.453592 kilograms", UnitTypeId = Guid.Parse("d47a54aa-de46-4aec-9bd6-276b046d35ac") },
// Time
new TechnicalUnit { Id = Guid.Parse("8ca66275-772e-43c3-bb7b-6b68af4b1839"), Name = "Second", Description = "SI base unit of time", UnitTypeId = Guid.Parse("7ef849c0-0979-4a6c-87ad-9aefb8675679") },
new TechnicalUnit { Id = Guid.Parse("4752422b-4b9b-4fca-9d78-3a372c0a8e7c"), Name = "Millisecond", Description = "0.001 second", UnitTypeId = Guid.Parse("7ef849c0-0979-4a6c-87ad-9aefb8675679") },
new TechnicalUnit { Id = Guid.Parse("93a97a4d-603d-4c00-a516-f3170656f0b2"), Name = "Minute", Description = "60 seconds", UnitTypeId = Guid.Parse("7ef849c0-0979-4a6c-87ad-9aefb8675679") },
new TechnicalUnit { Id = Guid.Parse("94eea97c-8853-414c-b7a9-4b05b483353d"), Name = "Hour", Description = "3600 seconds", UnitTypeId = Guid.Parse("7ef849c0-0979-4a6c-87ad-9aefb8675679") },
// Electric Current
new TechnicalUnit { Id = Guid.Parse("53f3a4ca-f44b-481c-92ab-a9cd49649243"), Name = "Ampere", Description = "SI base unit of electric current", UnitTypeId = Guid.Parse("2ecfd89f-8c90-4664-a72e-911b7ad29646") },
new TechnicalUnit { Id = Guid.Parse("45dd0601-dc09-4922-9153-ec76431ef0c5"), Name = "Milliampere", Description = "0.001 ampere", UnitTypeId = Guid.Parse("2ecfd89f-8c90-4664-a72e-911b7ad29646") },
// Thermodynamic Temperature
new TechnicalUnit { Id = Guid.Parse("0dd0fa51-36bf-4083-a7b1-901f7a3fe234"), Name = "Kelvin", Description = "SI base unit of temperature", UnitTypeId = Guid.Parse("a0dd396c-943a-49cd-87e9-24e1fc9cf1b3") },
new TechnicalUnit { Id = Guid.Parse("18e72164-8ead-45a0-9291-a5179e059c0c"), Name = "Degree Celsius", Description = "Scale for measuring temperature; 0°C = 273.15 K", UnitTypeId = Guid.Parse("a0dd396c-943a-49cd-87e9-24e1fc9cf1b3") },
// Amount of Substance
new TechnicalUnit { Id = Guid.Parse("723496bc-500b-4938-8f25-48472446c6e9"), Name = "Mole", Description = "SI base unit of amount of substance", UnitTypeId = Guid.Parse("b1c4b844-1b85-4601-a575-4992c47533ac") },
// Luminous Intensity
new TechnicalUnit { Id = Guid.Parse("9e830840-c1f1-4dfc-aaef-74a1f464c798"), Name = "Candela", Description = "SI base unit of luminous intensity", UnitTypeId = Guid.Parse("abc1b8cc-fcaf-4e45-8b72-e47036166fbc") },
// Area
new TechnicalUnit { Id = Guid.Parse("15f4422e-b861-45f6-84e4-c1932b7df119"), Name = "Square meter", Description = "SI derived unit of area", UnitTypeId = Guid.Parse("d1300314-3db6-48c6-b5d2-5542d30d18ea") },
new TechnicalUnit { Id = Guid.Parse("7bc508a0-c5d1-497e-859c-6a617613d9a6"), Name = "Hectare", Description = "10,000 square meters; used for land area", UnitTypeId = Guid.Parse("d1300314-3db6-48c6-b5d2-5542d30d18ea") },
new TechnicalUnit { Id = Guid.Parse("f968eb00-c9b3-483b-ba4b-3ed8ee89de17"), Name = "Square kilometer", Description = "1,000,000 square meters", UnitTypeId = Guid.Parse("d1300314-3db6-48c6-b5d2-5542d30d18ea") },
// Speed
new TechnicalUnit { Id = Guid.Parse("151c7344-7b70-4bea-a04f-39b6f5b43ce0"), Name = "Meter per second", Description = "SI derived unit for speed/velocity", UnitTypeId = Guid.Parse("806e3b0a-306e-427e-8206-610c1c618cd8") },
new TechnicalUnit { Id = Guid.Parse("78b9db6d-5bca-4d87-9d98-7a70fcc400f7"), Name = "Kilometer per hour", Description = "Common unit of speed; 1 km/h = 0.27778 m/s", UnitTypeId = Guid.Parse("806e3b0a-306e-427e-8206-610c1c618cd8") },
// Volume
new TechnicalUnit { Id = Guid.Parse("98c8f101-310b-450e-b502-4cf61d9cde1a"), Name = "Cubic meter", Description = "SI derived unit of volume", UnitTypeId = Guid.Parse("52733b8a-04bc-4eb7-bade-9f7869283473") },
new TechnicalUnit { Id = Guid.Parse("36c29f6f-70dc-4ca6-bd1e-64b578de0a0f"), Name = "Liter", Description = "0.001 cubic meter; commonly used for liquids", UnitTypeId = Guid.Parse("52733b8a-04bc-4eb7-bade-9f7869283473") },
new TechnicalUnit { Id = Guid.Parse("b1aab8fe-2d78-4e65-974a-bc09a22446ee"), Name = "Milliliter", Description = "0.000001 cubic meter or 0.001 liter", UnitTypeId = Guid.Parse("52733b8a-04bc-4eb7-bade-9f7869283473") }
);
modelBuilder.Entity<CompanyTypeMaster>().HasData(
new CompanyTypeMaster
{
Id = Guid.Parse("04f543cb-6797-41bf-bfd8-e3c399c9c071"),
Name = "Public Limited",
Description = "Company whose shares are traded publicly"
},
new CompanyTypeMaster
{
Id = Guid.Parse("ea0d374a-e149-4296-9f45-eb36b39047d6"),
Name = "Private Limited",
Description = "Privately held company with limited liability"
},
new CompanyTypeMaster
{
Id = Guid.Parse("f9426132-8bc9-440d-bd4f-a9f2bc7f395a"),
Name = "Partnership",
Description = "Business owned by two or more partners"
},
new CompanyTypeMaster
{
Id = Guid.Parse("8703932e-ca8d-4ab9-876b-7c313133356d"),
Name = "Sole Proprietorship",
Description = "Owned and run by one individual"
}
);
modelBuilder.Entity<CountryMaster>().HasData(
new CountryMaster { Id = Guid.Parse("b9fd9cf6-12df-498d-b087-ab8bf8bd47ed"), Name = "Afghanistan", CountryCode = "AF", CurrencyCode = "AFN", PhoneCode = "+93" },
new CountryMaster { Id = Guid.Parse("8fd97292-4f21-48fc-a8a4-4eb57e851b07"), Name = "Albania", CountryCode = "AL", CurrencyCode = "ALL", PhoneCode = "+355" },
new CountryMaster { Id = Guid.Parse("c63c55e3-9b05-4e14-89d9-465d99c58c2e"), Name = "Algeria", CountryCode = "DZ", CurrencyCode = "DZD", PhoneCode = "+213" },
new CountryMaster { Id = Guid.Parse("2fb27aba-92a8-4698-bfe2-99b1b36282d0"), Name = "American Samoa", CountryCode = "AS", CurrencyCode = "USD", PhoneCode = "+1-684" },
new CountryMaster { Id = Guid.Parse("46a8f8e9-ed2f-43eb-b4ad-0c240a8992bd"), Name = "Andorra", CountryCode = "AD", CurrencyCode = "EUR", PhoneCode = "+376" },
new CountryMaster { Id = Guid.Parse("627faa48-289a-43a3-9d96-59662fcde43f"), Name = "Angola", CountryCode = "AO", CurrencyCode = "AOA", PhoneCode = "+244" },
new CountryMaster { Id = Guid.Parse("6cab5d7b-6cb1-4eb7-a6e1-935f86547ce1"), Name = "Anguilla", CountryCode = "AI", CurrencyCode = "XCD", PhoneCode = "+1-264" },
new CountryMaster { Id = Guid.Parse("65e235ca-af49-4e38-9d21-a1098da74ac6"), Name = "Antigua and Barbuda", CountryCode = "AG", CurrencyCode = "XCD", PhoneCode = "+1-268" },
new CountryMaster { Id = Guid.Parse("71364c9c-7ea9-40cb-b720-be8ee702541c"), Name = "Argentina", CountryCode = "AR", CurrencyCode = "ARS", PhoneCode = "+54" },
new CountryMaster { Id = Guid.Parse("4a754316-bd80-4eb6-b6e7-30c1ef92be74"), Name = "Armenia", CountryCode = "AM", CurrencyCode = "AMD", PhoneCode = "+374" },
new CountryMaster { Id = Guid.Parse("a97da8fe-8e23-4482-a07e-c48142989dfc"), Name = "Australia", CountryCode = "AU", CurrencyCode = "AUD", PhoneCode = "+61" },
new CountryMaster { Id = Guid.Parse("cd5966f3-67ff-45c3-8392-1d4b420a4bb4"), Name = "Austria", CountryCode = "AT", CurrencyCode = "EUR", PhoneCode = "+43" },
new CountryMaster { Id = Guid.Parse("c2def0a7-4397-467f-af8d-16e02200a8c5"), Name = "Azerbaijan", CountryCode = "AZ", CurrencyCode = "AZN", PhoneCode = "+994" },
new CountryMaster { Id = Guid.Parse("a7e6770b-dec3-44f7-a458-1e3ce6184651"), Name = "Bahamas", CountryCode = "BS", CurrencyCode = "BSD", PhoneCode = "+1-242" },
new CountryMaster { Id = Guid.Parse("af04965c-10fc-48d4-869c-9558090f6769"), Name = "Bahrain", CountryCode = "BH", CurrencyCode = "BHD", PhoneCode = "+973" },
new CountryMaster { Id = Guid.Parse("f1349225-3a2c-4bd2-b035-86cff42b9eab"), Name = "Bangladesh", CountryCode = "BD", CurrencyCode = "BDT", PhoneCode = "+880" },
new CountryMaster { Id = Guid.Parse("5d0758ed-78a3-4046-808a-292deb6f1739"), Name = "Barbados", CountryCode = "BB", CurrencyCode = "BBD", PhoneCode = "+1-246" },
new CountryMaster { Id = Guid.Parse("94859d32-7658-4132-a729-2e8a5c633727"), Name = "Belarus", CountryCode = "BY", CurrencyCode = "BYN", PhoneCode = "+375" },
new CountryMaster { Id = Guid.Parse("a581a955-54d5-48b2-88d2-b6143d7e056e"), Name = "Belgium", CountryCode = "BE", CurrencyCode = "EUR", PhoneCode = "+32" },
new CountryMaster { Id = Guid.Parse("d2f67f0b-a6b0-4983-8683-4781fd492508"), Name = "Belize", CountryCode = "BZ", CurrencyCode = "BZD", PhoneCode = "+501" },
new CountryMaster { Id = Guid.Parse("1c08a822-4f7e-4eb1-ac83-cf6738134de9"), Name = "Benin", CountryCode = "BJ", CurrencyCode = "XOF", PhoneCode = "+229" },
new CountryMaster { Id = Guid.Parse("16dfad87-2de6-4dc8-942d-03eb1c820aa3"), Name = "Bermuda", CountryCode = "BM", CurrencyCode = "BMD", PhoneCode = "+1-441" },
new CountryMaster { Id = Guid.Parse("e1f1531b-da89-424e-8d5e-c76e937ace9f"), Name = "Bhutan", CountryCode = "BT", CurrencyCode = "INR", PhoneCode = "+975" },
new CountryMaster { Id = Guid.Parse("e64710d2-092e-46c6-9456-ea074e17314f"), Name = "Bolivia", CountryCode = "BO", CurrencyCode = "BOB", PhoneCode = "+591" },
new CountryMaster { Id = Guid.Parse("3346b632-f886-435f-a951-7d90f2c07046"), Name = "Bosnia and Herzegovina", CountryCode = "BA", CurrencyCode = "BAM", PhoneCode = "+387" },
new CountryMaster { Id = Guid.Parse("84c8aa8d-24e5-4cc4-aab6-836355525a31"), Name = "Botswana", CountryCode = "BW", CurrencyCode = "BWP", PhoneCode = "+267" },
new CountryMaster { Id = Guid.Parse("c4660087-c92f-4884-b621-314f62452fee"), Name = "Brazil", CountryCode = "BR", CurrencyCode = "BRL", PhoneCode = "+55" },
new CountryMaster { Id = Guid.Parse("f84cdd01-8020-4017-a008-aebcadb00768"), Name = "Brunei Darussalam", CountryCode = "BN", CurrencyCode = "BND", PhoneCode = "+673" },
new CountryMaster { Id = Guid.Parse("c428f82a-437f-496d-8990-b87a3bbc6542"), Name = "Bulgaria", CountryCode = "BG", CurrencyCode = "BGN", PhoneCode = "+359" },
new CountryMaster { Id = Guid.Parse("33bbe885-703a-4c08-a40d-8efa13dd112d"), Name = "Burkina Faso", CountryCode = "BF", CurrencyCode = "XOF", PhoneCode = "+226" },
new CountryMaster { Id = Guid.Parse("6f0abc21-86ab-42fb-8960-6bef0d380b32"), Name = "Burundi", CountryCode = "BI", CurrencyCode = "BIF", PhoneCode = "+257" },
new CountryMaster { Id = Guid.Parse("d68dcee3-a8eb-43de-8c65-314abc174b58"), Name = "Cambodia", CountryCode = "KH", CurrencyCode = "KHR", PhoneCode = "+855" },
new CountryMaster { Id = Guid.Parse("d963b04f-3a1a-4a37-ab32-3da0427c9aac"), Name = "Cameroon", CountryCode = "CM", CurrencyCode = "XAF", PhoneCode = "+237" },
new CountryMaster { Id = Guid.Parse("b5c59e50-ad29-4b8d-8767-b0a7f79827d7"), Name = "Canada", CountryCode = "CA", CurrencyCode = "CAD", PhoneCode = "+1" },
new CountryMaster { Id = Guid.Parse("7f0e57ca-14d5-48df-bf26-a6fa29967edf"), Name = "Cape Verde", CountryCode = "CV", CurrencyCode = "CVE", PhoneCode = "+238" },
new CountryMaster { Id = Guid.Parse("c27c5c08-ffc1-4394-8a0b-39bb3a74d218"), Name = "Cayman Islands", CountryCode = "KY", CurrencyCode = "KYD", PhoneCode = "+1-345" },
new CountryMaster { Id = Guid.Parse("815ef742-b519-472f-b973-6a572cb3dccb"), Name = "Central African Republic", CountryCode = "CF", CurrencyCode = "XAF", PhoneCode = "+236" },
new CountryMaster { Id = Guid.Parse("76282293-c94d-4ed4-a4a2-89a58e6daac9"), Name = "Chad", CountryCode = "TD", CurrencyCode = "XAF", PhoneCode = "+235" },
new CountryMaster { Id = Guid.Parse("c868bc87-b460-446f-a68a-6769696724e6"), Name = "Chile", CountryCode = "CL", CurrencyCode = "CLP", PhoneCode = "+56" },
new CountryMaster { Id = Guid.Parse("2a97aae0-48ec-4c4b-b9f7-5b1aa5cc1014"), Name = "China", CountryCode = "CN", CurrencyCode = "CNY", PhoneCode = "+86" },
new CountryMaster { Id = Guid.Parse("aab4921c-ac56-4042-9699-850e5ab67031"), Name = "Colombia", CountryCode = "CO", CurrencyCode = "COP", PhoneCode = "+57" },
new CountryMaster { Id = Guid.Parse("949df0b8-b359-4112-8807-3e0c249315a5"), Name = "Comoros", CountryCode = "KM", CurrencyCode = "KMF", PhoneCode = "+269" },
new CountryMaster { Id = Guid.Parse("9a9f1c51-fa52-459c-ace3-fa26364da9a8"), Name = "Congo (Brazzaville)", CountryCode = "CG", CurrencyCode = "XAF", PhoneCode = "+242" },
new CountryMaster { Id = Guid.Parse("a89a2a14-74a5-40a9-92e8-076d9e4f0fc2"), Name = "Congo (Kinshasa)", CountryCode = "CD", CurrencyCode = "CDF", PhoneCode = "+243" },
new CountryMaster { Id = Guid.Parse("2d2d7022-e00d-4a3d-be70-37a78462f9f5"), Name = "Cook Islands", CountryCode = "CK", CurrencyCode = "NZD", PhoneCode = "+682" },
new CountryMaster { Id = Guid.Parse("a3b1d175-6cd6-43ea-8a6b-6fb6dc467128"), Name = "Costa Rica", CountryCode = "CR", CurrencyCode = "CRC", PhoneCode = "+506" },
new CountryMaster { Id = Guid.Parse("6d76870b-fc45-4b60-a480-015f003802b2"), Name = "Croatia", CountryCode = "HR", CurrencyCode = "HRK", PhoneCode = "+385" },
new CountryMaster { Id = Guid.Parse("e041c6e7-cd18-420a-b19b-fd7e20b57093"), Name = "Cuba", CountryCode = "CU", CurrencyCode = "CUP", PhoneCode = "+53" },
new CountryMaster { Id = Guid.Parse("04efa61d-6161-4f86-a11e-8613bcaa2345"), Name = "Cyprus", CountryCode = "CY", CurrencyCode = "EUR", PhoneCode = "+357" },
new CountryMaster { Id = Guid.Parse("d7e29cf0-7356-4f84-8e0c-71accc93fbe1"), Name = "Czech Republic", CountryCode = "CZ", CurrencyCode = "CZK", PhoneCode = "+420" },
new CountryMaster { Id = Guid.Parse("f3370240-61cc-4f39-84f9-721f5db5fb11"), Name = "Denmark", CountryCode = "DK", CurrencyCode = "DKK", PhoneCode = "+45" },
new CountryMaster { Id = Guid.Parse("4b108c06-ecd3-4cb2-b32f-681ccf92b207"), Name = "Djibouti", CountryCode = "DJ", CurrencyCode = "DJF", PhoneCode = "+253" },
new CountryMaster { Id = Guid.Parse("5d7cfff0-fece-43a5-8eea-0f738af64fe2"), Name = "Dominica", CountryCode = "DM", CurrencyCode = "XCD", PhoneCode = "+1-767" },
new CountryMaster { Id = Guid.Parse("d712df4c-1c90-4aa0-8887-34527823c584"), Name = "Dominican Republic", CountryCode = "DO", CurrencyCode = "DOP", PhoneCode = "+1-809" },
new CountryMaster { Id = Guid.Parse("98c3779e-91c0-473e-b798-71e388198a6b"), Name = "Ecuador", CountryCode = "EC", CurrencyCode = "USD", PhoneCode = "+593" },
new CountryMaster { Id = Guid.Parse("f564a0df-8436-4785-972e-8bff27c8b72c"), Name = "Egypt", CountryCode = "EG", CurrencyCode = "EGP", PhoneCode = "+20" },
new CountryMaster { Id = Guid.Parse("887b0183-30e9-4b11-b860-870701895346"), Name = "El Salvador", CountryCode = "SV", CurrencyCode = "USD", PhoneCode = "+503" },
new CountryMaster { Id = Guid.Parse("ac9a647f-6c90-4311-9068-12761e904e89"), Name = "Equatorial Guinea", CountryCode = "GQ", CurrencyCode = "XAF", PhoneCode = "+240" },
new CountryMaster { Id = Guid.Parse("772fad39-6448-4f70-9fc6-f59be7ee7315"), Name = "Eritrea", CountryCode = "ER", CurrencyCode = "ERN", PhoneCode = "+291" },
new CountryMaster { Id = Guid.Parse("b396af12-37e0-4e14-ad4a-db61dea77281"), Name = "Estonia", CountryCode = "EE", CurrencyCode = "EUR", PhoneCode = "+372" },
new CountryMaster { Id = Guid.Parse("c46d88cc-9c98-4ced-92a9-79cb492a3b7e"), Name = "Ethiopia", CountryCode = "ET", CurrencyCode = "ETB", PhoneCode = "+251" },
new CountryMaster { Id = Guid.Parse("ffd07e0b-dbbd-44f1-83c4-24610d2f42ca"), Name = "Falkland Islands", CountryCode = "FK", CurrencyCode = "FKP", PhoneCode = "+500" },
new CountryMaster { Id = Guid.Parse("58c3b33b-2c57-4809-b336-419ba74d4802"), Name = "Faroe Islands", CountryCode = "FO", CurrencyCode = "DKK", PhoneCode = "+298" },
new CountryMaster { Id = Guid.Parse("bce46798-9e6a-46c1-87a0-2bfc0b339df7"), Name = "Fiji", CountryCode = "FJ", CurrencyCode = "FJD", PhoneCode = "+679" },
new CountryMaster { Id = Guid.Parse("af0adf81-90a2-4a85-8215-500ab4994bb1"), Name = "Finland", CountryCode = "FI", CurrencyCode = "EUR", PhoneCode = "+358" },
new CountryMaster { Id = Guid.Parse("3613e681-2b27-4e91-b45a-6a784f1fd43c"), Name = "France", CountryCode = "FR", CurrencyCode = "EUR", PhoneCode = "+33" },
new CountryMaster { Id = Guid.Parse("e175c49b-96d2-4348-b616-61dacbd1958e"), Name = "French Guiana", CountryCode = "GF", CurrencyCode = "EUR", PhoneCode = "+594" },
new CountryMaster { Id = Guid.Parse("891f4b99-3ff4-402a-94d6-3d9dae1fa2a9"), Name = "French Polynesia", CountryCode = "PF", CurrencyCode = "XPF", PhoneCode = "+689" },
new CountryMaster { Id = Guid.Parse("923d7aae-4e24-4393-896a-574388c251b6"), Name = "Gabon", CountryCode = "GA", CurrencyCode = "XAF", PhoneCode = "+241" },
new CountryMaster { Id = Guid.Parse("0ca034f5-5f50-42f3-8541-d5272c287673"), Name = "Gambia", CountryCode = "GM", CurrencyCode = "GMD", PhoneCode = "+220" },
new CountryMaster { Id = Guid.Parse("cce66d27-3101-4d7c-96c4-62d4b69f9765"), Name = "Georgia", CountryCode = "GE", CurrencyCode = "GEL", PhoneCode = "+995" },
new CountryMaster { Id = Guid.Parse("a8bf31a7-b7e4-4769-8296-fdbd003a1c7c"), Name = "Germany", CountryCode = "DE", CurrencyCode = "EUR", PhoneCode = "+49" },
new CountryMaster { Id = Guid.Parse("2508c209-6cfb-48f9-8169-f75b1318be68"), Name = "Ghana", CountryCode = "GH", CurrencyCode = "GHS", PhoneCode = "+233" },
new CountryMaster { Id = Guid.Parse("caa504d7-bb06-4514-af08-9e107d58d618"), Name = "Gibraltar", CountryCode = "GI", CurrencyCode = "GIP", PhoneCode = "+350" },
new CountryMaster { Id = Guid.Parse("97a2dbca-56a5-465e-b94e-133c2fa29f82"), Name = "Greece", CountryCode = "GR", CurrencyCode = "EUR", PhoneCode = "+30" },
new CountryMaster { Id = Guid.Parse("dc4baf43-f0fb-4328-9b50-7b4319577e71"), Name = "Greenland", CountryCode = "GL", CurrencyCode = "DKK", PhoneCode = "+299" },
new CountryMaster { Id = Guid.Parse("c2531e9f-cdbb-4d21-9443-dea8317af7ee"), Name = "Grenada", CountryCode = "GD", CurrencyCode = "XCD", PhoneCode = "+1-473" },
new CountryMaster { Id = Guid.Parse("b4db73b0-398e-4aec-957d-1968cbc6eb3a"), Name = "Guadeloupe", CountryCode = "GP", CurrencyCode = "EUR", PhoneCode = "+590" },
new CountryMaster { Id = Guid.Parse("8ef61209-e8f5-4467-b16d-93eb175b74f3"), Name = "Guam", CountryCode = "GU", CurrencyCode = "USD", PhoneCode = "+1-671" },
new CountryMaster { Id = Guid.Parse("ed345f26-c693-4f82-bd0c-9c48be5d777e"), Name = "Guatemala", CountryCode = "GT", CurrencyCode = "GTQ", PhoneCode = "+502" },
new CountryMaster { Id = Guid.Parse("f9af45aa-ebf4-4fa4-a849-d78109230cee"), Name = "Guernsey", CountryCode = "GG", CurrencyCode = "GBP", PhoneCode = "+44-1481" },
new CountryMaster { Id = Guid.Parse("10931dde-039d-474e-8000-7a67e172fb9f"), Name = "Guinea", CountryCode = "GN", CurrencyCode = "GNF", PhoneCode = "+224" },
new CountryMaster { Id = Guid.Parse("b1431a5a-4bc4-41ad-9b70-0ba0ea8ccc57"), Name = "Guinea-Bissau", CountryCode = "GW", CurrencyCode = "XOF", PhoneCode = "+245" },
new CountryMaster { Id = Guid.Parse("54ca0d78-b56b-4463-a8b7-38f60a20a0f6"), Name = "Guyana", CountryCode = "GY", CurrencyCode = "GYD", PhoneCode = "+592" },
new CountryMaster { Id = Guid.Parse("cdf48074-ccbe-406b-8fd9-42431514432b"), Name = "Haiti", CountryCode = "HT", CurrencyCode = "HTG", PhoneCode = "+509" },
new CountryMaster { Id = Guid.Parse("e4545e43-ad44-4b0d-8997-3c5afcadf6d6"), Name = "Holy See (Vatican City State)", CountryCode = "VA", CurrencyCode = "EUR", PhoneCode = "+379" },
new CountryMaster { Id = Guid.Parse("66cde532-496b-4d22-a3f5-84b56763bfd5"), Name = "Honduras", CountryCode = "HN", CurrencyCode = "HNL", PhoneCode = "+504" },
new CountryMaster { Id = Guid.Parse("007368b3-6fc0-40cf-b7e2-457d8471f183"), Name = "Hong Kong", CountryCode = "HK", CurrencyCode = "HKD", PhoneCode = "+852" },
new CountryMaster { Id = Guid.Parse("32eb6a7d-9401-40e1-b172-1e53717dbf26"), Name = "Hungary", CountryCode = "HU", CurrencyCode = "HUF", PhoneCode = "+36" },
new CountryMaster { Id = Guid.Parse("d0a158c6-bdb2-46d9-b025-c60f7ff3cce0"), Name = "Iceland", CountryCode = "IS", CurrencyCode = "ISK", PhoneCode = "+354" },
new CountryMaster { Id = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268"), Name = "India", CountryCode = "IN", CurrencyCode = "INR", PhoneCode = "+91" },
new CountryMaster { Id = Guid.Parse("8adb6e73-4198-42f6-9572-6f6bebba7c70"), Name = "Indonesia", CountryCode = "ID", CurrencyCode = "IDR", PhoneCode = "+62" },
new CountryMaster { Id = Guid.Parse("5830ce7d-d85e-44c7-b4f6-ad5459edfbeb"), Name = "Iran, Islamic Republic of", CountryCode = "IR", CurrencyCode = "IRR", PhoneCode = "+98" },
new CountryMaster { Id = Guid.Parse("628df634-41d1-47b3-8960-d21640efd5c2"), Name = "Iraq", CountryCode = "IQ", CurrencyCode = "IQD", PhoneCode = "+964" },
new CountryMaster { Id = Guid.Parse("036e04fa-7204-420e-89d7-af1602f8012d"), Name = "Ireland", CountryCode = "IE", CurrencyCode = "EUR", PhoneCode = "+353" },
new CountryMaster { Id = Guid.Parse("7dc91c7e-285e-4154-b219-257d1dff3365"), Name = "Isle of Man", CountryCode = "IM", CurrencyCode = "GBP", PhoneCode = "+44-1624" },
new CountryMaster { Id = Guid.Parse("f49c2059-2ae7-472e-90f4-ca33517c33a8"), Name = "Israel", CountryCode = "IL", CurrencyCode = "ILS", PhoneCode = "+972" },
new CountryMaster { Id = Guid.Parse("e1d63265-9f9e-4b14-88c8-eff813fab40c"), Name = "Italy", CountryCode = "IT", CurrencyCode = "EUR", PhoneCode = "+39" },
new CountryMaster { Id = Guid.Parse("5e1d3c87-bccf-4929-bcbb-46a5d0deca1d"), Name = "Jamaica", CountryCode = "JM", CurrencyCode = "JMD", PhoneCode = "+1-876" },
new CountryMaster { Id = Guid.Parse("705f9229-7718-40da-88e6-dd60329919b2"), Name = "Japan", CountryCode = "JP", CurrencyCode = "JPY", PhoneCode = "+81" },
new CountryMaster { Id = Guid.Parse("b678f6d8-7d62-4b83-8e71-2da844c3acad"), Name = "Jersey", CountryCode = "JE", CurrencyCode = "GBP", PhoneCode = "+44-1534" },
new CountryMaster { Id = Guid.Parse("550c7aac-ee25-47cf-8e8a-1360bef7a0ff"), Name = "Jordan", CountryCode = "JO", CurrencyCode = "JOD", PhoneCode = "+962" },
new CountryMaster { Id = Guid.Parse("00286b3b-347a-4ecd-924c-165093707e18"), Name = "Kazakhstan", CountryCode = "KZ", CurrencyCode = "KZT", PhoneCode = "+7" },
new CountryMaster { Id = Guid.Parse("5d6147a1-d464-4c29-93d4-b8338a6b5c82"), Name = "Kenya", CountryCode = "KE", CurrencyCode = "KES", PhoneCode = "+254" },
new CountryMaster { Id = Guid.Parse("457d7730-b050-4d2c-84c5-0bd6ae02e1e8"), Name = "Kiribati", CountryCode = "KI", CurrencyCode = "AUD", PhoneCode = "+686" },
new CountryMaster { Id = Guid.Parse("cfe96299-c1a0-49a7-a452-6dd8283c1d8f"), Name = "Korea, Democratic People's Republic of", CountryCode = "KP", CurrencyCode = "KPW", PhoneCode = "+850" },
new CountryMaster { Id = Guid.Parse("8b92b2a7-d3db-495b-911a-28a2fa97a432"), Name = "Korea, Republic of", CountryCode = "KR", CurrencyCode = "KRW", PhoneCode = "+82" },
new CountryMaster { Id = Guid.Parse("98ca4330-06ae-4273-972a-b0120f036fe1"), Name = "Kuwait", CountryCode = "KW", CurrencyCode = "KWD", PhoneCode = "+965" },
new CountryMaster { Id = Guid.Parse("b0a00bcb-b5b2-44fa-8242-c3290e92fe82"), Name = "Kyrgyzstan", CountryCode = "KG", CurrencyCode = "KGS", PhoneCode = "+996" },
new CountryMaster { Id = Guid.Parse("c81e9769-7714-4aeb-b4f4-79a468890a33"), Name = "Lao People's Democratic Republic", CountryCode = "LA", CurrencyCode = "LAK", PhoneCode = "+856" },
new CountryMaster { Id = Guid.Parse("1ce2cb9a-11dc-4531-829c-bec1fe5e61f8"), Name = "Latvia", CountryCode = "LV", CurrencyCode = "EUR", PhoneCode = "+371" },
new CountryMaster { Id = Guid.Parse("d8eefd38-5f92-48a1-8c4f-3e21057e0fa0"), Name = "Lebanon", CountryCode = "LB", CurrencyCode = "LBP", PhoneCode = "+961" },
new CountryMaster { Id = Guid.Parse("d8670969-abff-4ec6-ac00-8e1c78fbedc6"), Name = "Lesotho", CountryCode = "LS", CurrencyCode = "LSL", PhoneCode = "+266" },
new CountryMaster { Id = Guid.Parse("b768ef3c-5eb9-4cf4-843c-d31ea35703f3"), Name = "Liberia", CountryCode = "LR", CurrencyCode = "LRD", PhoneCode = "+231" },
new CountryMaster { Id = Guid.Parse("129b090d-32ac-4a44-a011-d21c8be99bad"), Name = "Libya", CountryCode = "LY", CurrencyCode = "LYD", PhoneCode = "+218" },
new CountryMaster { Id = Guid.Parse("814d7672-698b-406e-9971-7e7a686b5099"), Name = "Liechtenstein", CountryCode = "LI", CurrencyCode = "CHF", PhoneCode = "+423" },
new CountryMaster { Id = Guid.Parse("67f4e94d-0337-433a-a398-9eafdc15109e"), Name = "Lithuania", CountryCode = "LT", CurrencyCode = "EUR", PhoneCode = "+370" },
new CountryMaster { Id = Guid.Parse("9d61ab7c-dadf-4adc-a8f2-6c8b4196e163"), Name = "Luxembourg", CountryCode = "LU", CurrencyCode = "EUR", PhoneCode = "+352" },
new CountryMaster { Id = Guid.Parse("0310cf46-14b5-4124-bf41-f9fbbf74bdce"), Name = "Macao", CountryCode = "MO", CurrencyCode = "MOP", PhoneCode = "+853" },
new CountryMaster { Id = Guid.Parse("dca9fcc1-f203-41ec-b8c5-39de070b0c99"), Name = "Madagascar", CountryCode = "MG", CurrencyCode = "MGA", PhoneCode = "+261" },
new CountryMaster { Id = Guid.Parse("7ff65dd2-cfd6-4363-be26-933e67ea7697"), Name = "Malawi", CountryCode = "MW", CurrencyCode = "MWK", PhoneCode = "+265" },
new CountryMaster { Id = Guid.Parse("c56d877f-3185-43ed-8da6-6d111de128be"), Name = "Malaysia", CountryCode = "MY", CurrencyCode = "MYR", PhoneCode = "+60" },
new CountryMaster { Id = Guid.Parse("e7b4ff48-3a80-4f09-a558-18068b06267e"), Name = "Maldives", CountryCode = "MV", CurrencyCode = "MVR", PhoneCode = "+960" },
new CountryMaster { Id = Guid.Parse("9c300e80-5ad5-4099-a072-2600a8975cf1"), Name = "Mali", CountryCode = "ML", CurrencyCode = "XOF", PhoneCode = "+223" },
new CountryMaster { Id = Guid.Parse("6070ea4a-c9f4-4625-b49e-27edb30e1563"), Name = "Malta", CountryCode = "MT", CurrencyCode = "EUR", PhoneCode = "+356" },
new CountryMaster { Id = Guid.Parse("23defee3-445a-4887-8449-711987f37a59"), Name = "Marshall Islands", CountryCode = "MH", CurrencyCode = "USD", PhoneCode = "+692" },
new CountryMaster { Id = Guid.Parse("b16a49c1-ed78-48cb-98ea-32408a6ad633"), Name = "Martinique", CountryCode = "MQ", CurrencyCode = "EUR", PhoneCode = "+596" },
new CountryMaster { Id = Guid.Parse("f023ce75-66a5-457a-bec8-457a33857801"), Name = "Mauritania", CountryCode = "MR", CurrencyCode = "MRU", PhoneCode = "+222" },
new CountryMaster { Id = Guid.Parse("522255ca-07f4-49d0-9893-2a6dcfc22e1b"), Name = "Mauritius", CountryCode = "MU", CurrencyCode = "MUR", PhoneCode = "+230" },
new CountryMaster { Id = Guid.Parse("246b0220-15a1-4efc-b58b-1c63992314ee"), Name = "Mexico", CountryCode = "MX", CurrencyCode = "MXN", PhoneCode = "+52" },
new CountryMaster { Id = Guid.Parse("f9c6582a-150f-4f9a-b167-3ce06b40b361"), Name = "Micronesia (Federated States of)", CountryCode = "FM", CurrencyCode = "USD", PhoneCode = "+691" },
new CountryMaster { Id = Guid.Parse("1cefd479-decc-4c56-8668-11656ac32612"), Name = "Moldova", CountryCode = "MD", CurrencyCode = "MDL", PhoneCode = "+373" },
new CountryMaster { Id = Guid.Parse("e7979011-ea7a-41c6-add5-36ce39760d4b"), Name = "Monaco", CountryCode = "MC", CurrencyCode = "EUR", PhoneCode = "+377" },
new CountryMaster { Id = Guid.Parse("f97c4424-5d24-412f-80c6-4ff030c1ea0f"), Name = "Mongolia", CountryCode = "MN", CurrencyCode = "MNT", PhoneCode = "+976" },
new CountryMaster { Id = Guid.Parse("30432c7d-a068-4445-9eb7-10573bdf1bf8"), Name = "Montenegro", CountryCode = "ME", CurrencyCode = "EUR", PhoneCode = "+382" },
new CountryMaster { Id = Guid.Parse("2b7d9370-b6d5-4014-ae04-4f2d382e58fd"), Name = "Morocco", CountryCode = "MA", CurrencyCode = "MAD", PhoneCode = "+212" },
new CountryMaster { Id = Guid.Parse("17e2bb2a-a99f-4bed-9b56-25f98b533718"), Name = "Mozambique", CountryCode = "MZ", CurrencyCode = "MZN", PhoneCode = "+258" },
new CountryMaster { Id = Guid.Parse("20faf2ba-6710-4953-884a-10f5237bee6a"), Name = "Myanmar", CountryCode = "MM", CurrencyCode = "MMK", PhoneCode = "+95" },
new CountryMaster { Id = Guid.Parse("77c8aae1-40b5-4df1-9567-cf28c7164154"), Name = "Namibia", CountryCode = "NA", CurrencyCode = "NAD", PhoneCode = "+264" },
new CountryMaster { Id = Guid.Parse("e60dd036-c289-436e-83d4-e3bbd11aaa2c"), Name = "Nauru", CountryCode = "NR", CurrencyCode = "AUD", PhoneCode = "+674" },
new CountryMaster { Id = Guid.Parse("f365a870-ee54-4e1a-ba00-0c6fb6165de8"), Name = "Nepal", CountryCode = "NP", CurrencyCode = "NPR", PhoneCode = "+977" },
new CountryMaster { Id = Guid.Parse("3d4d1704-d7fd-46e7-9ef4-f30bd01ecf00"), Name = "Netherlands", CountryCode = "NL", CurrencyCode = "EUR", PhoneCode = "+31" },
new CountryMaster { Id = Guid.Parse("81337d5a-5cda-4389-96e7-e6df05e7ab53"), Name = "New Zealand", CountryCode = "NZ", CurrencyCode = "NZD", PhoneCode = "+64" },
new CountryMaster { Id = Guid.Parse("a3a1e7ba-4e37-4234-99c6-03091fc36687"), Name = "Nicaragua", CountryCode = "NI", CurrencyCode = "NIO", PhoneCode = "+505" },
new CountryMaster { Id = Guid.Parse("1d685533-ccda-496f-9cb2-7a45742b11c2"), Name = "Niger", CountryCode = "NE", CurrencyCode = "XOF", PhoneCode = "+227" },
new CountryMaster { Id = Guid.Parse("3fd3b965-97b3-4b51-9915-92e6969e3de7"), Name = "Nigeria", CountryCode = "NG", CurrencyCode = "NGN", PhoneCode = "+234" },
new CountryMaster { Id = Guid.Parse("0d9a26e1-5c89-4096-9577-3a6840100b73"), Name = "Niue", CountryCode = "NU", CurrencyCode = "NZD", PhoneCode = "+683" },
new CountryMaster { Id = Guid.Parse("f483a033-fe30-4cdb-a242-e238f9355027"), Name = "Norfolk Island", CountryCode = "NF", CurrencyCode = "AUD", PhoneCode = "+672" },
new CountryMaster { Id = Guid.Parse("6477e682-ab3d-429e-b6f3-ef9add945338"), Name = "Northern Mariana Islands", CountryCode = "MP", CurrencyCode = "USD", PhoneCode = "+1-670" },
new CountryMaster { Id = Guid.Parse("b1b169a8-fd59-4c5e-bbd3-df863b845527"), Name = "Norway", CountryCode = "NO", CurrencyCode = "NOK", PhoneCode = "+47" },
new CountryMaster { Id = Guid.Parse("a82b18c2-3fb9-4e6b-bc00-01de22ccb999"), Name = "Oman", CountryCode = "OM", CurrencyCode = "OMR", PhoneCode = "+968" },
new CountryMaster { Id = Guid.Parse("b8d0c0e2-af6e-4a58-b5b9-1ae71539850e"), Name = "Pakistan", CountryCode = "PK", CurrencyCode = "PKR", PhoneCode = "+92" },
new CountryMaster { Id = Guid.Parse("51df160d-2983-4cd7-be5b-30158411df72"), Name = "Palau", CountryCode = "PW", CurrencyCode = "USD", PhoneCode = "+680" },
new CountryMaster { Id = Guid.Parse("6bafd6d9-ec61-448d-99c5-e35538825d62"), Name = "Palestine, State of", CountryCode = "PS", CurrencyCode = "ILS", PhoneCode = "+970" },
new CountryMaster { Id = Guid.Parse("f49b6bbf-1365-48b5-8b04-477746711f4b"), Name = "Panama", CountryCode = "PA", CurrencyCode = "PAB", PhoneCode = "+507" },
new CountryMaster { Id = Guid.Parse("70dc9d64-21da-4b73-b552-278205586752"), Name = "Papua New Guinea", CountryCode = "PG", CurrencyCode = "PGK", PhoneCode = "+675" },
new CountryMaster { Id = Guid.Parse("8a6576a9-44f5-4916-9753-01e2966cb09f"), Name = "Paraguay", CountryCode = "PY", CurrencyCode = "PYG", PhoneCode = "+595" },
new CountryMaster { Id = Guid.Parse("64f8820b-47b6-46b0-8876-cc41302107d5"), Name = "Peru", CountryCode = "PE", CurrencyCode = "PEN", PhoneCode = "+51" },
new CountryMaster { Id = Guid.Parse("ef1ecf94-aadb-406b-a862-47937a61c7bb"), Name = "Philippines", CountryCode = "PH", CurrencyCode = "PHP", PhoneCode = "+63" },
new CountryMaster { Id = Guid.Parse("319fcf0d-c6f8-412a-b18e-82bdb7f9655a"), Name = "Pitcairn", CountryCode = "PN", CurrencyCode = "NZD", PhoneCode = "+64" },
new CountryMaster { Id = Guid.Parse("0a299df2-871c-4ffe-8b01-4c36477db0f8"), Name = "Poland", CountryCode = "PL", CurrencyCode = "PLN", PhoneCode = "+48" },
new CountryMaster { Id = Guid.Parse("ec4eff81-abcc-488f-94cb-c2cb2491a809"), Name = "Portugal", CountryCode = "PT", CurrencyCode = "EUR", PhoneCode = "+351" },
new CountryMaster { Id = Guid.Parse("245d5b82-0e69-4568-a012-3f3f87444c30"), Name = "Puerto Rico", CountryCode = "PR", CurrencyCode = "USD", PhoneCode = "+1-787" },
new CountryMaster { Id = Guid.Parse("dcbc3651-9edd-4d9a-8532-0a021727d55f"), Name = "Qatar", CountryCode = "QA", CurrencyCode = "QAR", PhoneCode = "+974" },
new CountryMaster { Id = Guid.Parse("da913aac-81b9-45de-87d1-9f2532d04fd3"), Name = "Réunion", CountryCode = "RE", CurrencyCode = "EUR", PhoneCode = "+262" },
new CountryMaster { Id = Guid.Parse("54a7e332-91d4-405e-ae64-e9edbdda3a84"), Name = "Romania", CountryCode = "RO", CurrencyCode = "RON", PhoneCode = "+40" },
new CountryMaster { Id = Guid.Parse("9656d365-8402-4adf-987c-3533bdcc3656"), Name = "Russian Federation", CountryCode = "RU", CurrencyCode = "RUB", PhoneCode = "+7" },
new CountryMaster { Id = Guid.Parse("b7299a0a-e711-43b3-8efc-41bb69ff525f"), Name = "Rwanda", CountryCode = "RW", CurrencyCode = "RWF", PhoneCode = "+250" },
new CountryMaster { Id = Guid.Parse("44d1c0cd-71d8-4fe4-bcbb-f13d2fdfbb68"), Name = "Saint Barthélemy", CountryCode = "BL", CurrencyCode = "EUR", PhoneCode = "+590" },
new CountryMaster { Id = Guid.Parse("252cd168-9566-408a-aadf-bbf309748982"), Name = "Saint Helena, Ascension and Tristan da Cunha", CountryCode = "SH", CurrencyCode = "SHP", PhoneCode = "+290" },
new CountryMaster { Id = Guid.Parse("d8b3a6eb-0af8-4c43-9780-78f9241f8b3b"), Name = "Saint Kitts and Nevis", CountryCode = "KN", CurrencyCode = "XCD", PhoneCode = "+1-869" },
new CountryMaster { Id = Guid.Parse("2c5e794c-b287-4254-8350-e6a5edd66273"), Name = "Saint Lucia", CountryCode = "LC", CurrencyCode = "XCD", PhoneCode = "+1-758" },
new CountryMaster { Id = Guid.Parse("5e6b20a0-9297-4e55-bf93-b5f515924d90"), Name = "Saint Martin (French part)", CountryCode = "MF", CurrencyCode = "EUR", PhoneCode = "+590" },
new CountryMaster { Id = Guid.Parse("ba75d802-bb29-4c3b-9b15-dc6567eca4b2"), Name = "Saint Pierre and Miquelon", CountryCode = "PM", CurrencyCode = "EUR", PhoneCode = "+508" },
new CountryMaster { Id = Guid.Parse("3541467d-4f80-482a-b37c-968a42f387ea"), Name = "Saint Vincent and the Grenadines", CountryCode = "VC", CurrencyCode = "XCD", PhoneCode = "+1-784" },
new CountryMaster { Id = Guid.Parse("a3fe748d-1bc4-46a5-b853-0102f9201d52"), Name = "Samoa", CountryCode = "WS", CurrencyCode = "WST", PhoneCode = "+685" },
new CountryMaster { Id = Guid.Parse("7c6e24ed-6e3d-4af3-ba6b-87ef473d7fba"), Name = "San Marino", CountryCode = "SM", CurrencyCode = "EUR", PhoneCode = "+378" },
new CountryMaster { Id = Guid.Parse("58e887db-df7a-4bc8-86dc-01efb3b2f267"), Name = "Sao Tome and Principe", CountryCode = "ST", CurrencyCode = "STN", PhoneCode = "+239" },
new CountryMaster { Id = Guid.Parse("e29936da-6330-478e-8009-876a8af6ad9c"), Name = "Saudi Arabia", CountryCode = "SA", CurrencyCode = "SAR", PhoneCode = "+966" },
new CountryMaster { Id = Guid.Parse("5d7563e1-3331-4c0d-bf48-f54f1d8991ba"), Name = "Senegal", CountryCode = "SN", CurrencyCode = "XOF", PhoneCode = "+221" },
new CountryMaster { Id = Guid.Parse("ffc91672-7ab1-4b3a-949d-a4b471fa940e"), Name = "Serbia", CountryCode = "RS", CurrencyCode = "RSD", PhoneCode = "+381" },
new CountryMaster { Id = Guid.Parse("0fe6a505-2e08-4192-bb60-4e870f2f15f8"), Name = "Seychelles", CountryCode = "SC", CurrencyCode = "SCR", PhoneCode = "+248" },
new CountryMaster { Id = Guid.Parse("32e4e5e6-bc20-40da-89f9-0444bc5773e2"), Name = "Sierra Leone", CountryCode = "SL", CurrencyCode = "SLL", PhoneCode = "+232" },
new CountryMaster { Id = Guid.Parse("0e6106cc-e539-45ff-850b-c4a810c30777"), Name = "Singapore", CountryCode = "SG", CurrencyCode = "SGD", PhoneCode = "+65" },
new CountryMaster { Id = Guid.Parse("60114438-25c4-469a-aa7e-70e83a5c0a87"), Name = "Sint Maarten (Dutch part)", CountryCode = "SX", CurrencyCode = "ANG", PhoneCode = "+1-721" },
new CountryMaster { Id = Guid.Parse("c2b42b72-06e3-47d2-89d7-45e100afd50a"), Name = "Slovakia", CountryCode = "SK", CurrencyCode = "EUR", PhoneCode = "+421" },
new CountryMaster { Id = Guid.Parse("b10d7991-9a47-4c71-9df0-416b3881893f"), Name = "Slovenia", CountryCode = "SI", CurrencyCode = "EUR", PhoneCode = "+386" },
new CountryMaster { Id = Guid.Parse("df126657-80ad-468f-a7c3-ffe30e591b1f"), Name = "Solomon Islands", CountryCode = "SB", CurrencyCode = "SBD", PhoneCode = "+677" },
new CountryMaster { Id = Guid.Parse("b612c27f-b32c-4776-95ee-cc751a9da06b"), Name = "Somalia", CountryCode = "SO", CurrencyCode = "SOS", PhoneCode = "+252" },
new CountryMaster { Id = Guid.Parse("49cd3700-55de-4b59-b16f-e8eb459963fe"), Name = "South Africa", CountryCode = "ZA", CurrencyCode = "ZAR", PhoneCode = "+27" },
new CountryMaster { Id = Guid.Parse("67aa9342-dec5-4757-8777-3180eb54e186"), Name = "South Georgia and the South Sandwich Islands", CountryCode = "GS", CurrencyCode = "GBP", PhoneCode = "+500" },
new CountryMaster { Id = Guid.Parse("ba4e9c3d-a745-40a6-93c9-f51a9ed36da7"), Name = "South Sudan", CountryCode = "SS", CurrencyCode = "SSP", PhoneCode = "+211" },
new CountryMaster { Id = Guid.Parse("66b0820f-855b-45a0-ba0f-37b72b28404e"), Name = "Spain", CountryCode = "ES", CurrencyCode = "EUR", PhoneCode = "+34" },
new CountryMaster { Id = Guid.Parse("e660f7d2-5f72-4ae7-921c-8455c5ed2159"), Name = "Sri Lanka", CountryCode = "LK", CurrencyCode = "LKR", PhoneCode = "+94" },
new CountryMaster { Id = Guid.Parse("7cbabe47-1262-49f5-a79d-ca34508c25d5"), Name = "Sudan", CountryCode = "SD", CurrencyCode = "SDG", PhoneCode = "+249" },
new CountryMaster { Id = Guid.Parse("f429fd86-fbb5-4ca9-8535-ed4b8a08d9b2"), Name = "Suriname", CountryCode = "SR", CurrencyCode = "SRD", PhoneCode = "+597" },
new CountryMaster { Id = Guid.Parse("4885621c-cdec-45a1-b6da-ab7c0a9601f3"), Name = "Svalbard and Jan Mayen", CountryCode = "SJ", CurrencyCode = "NOK", PhoneCode = "+47" },
new CountryMaster { Id = Guid.Parse("a971d1a1-1964-469b-9a6c-2e7413d7928d"), Name = "Swaziland", CountryCode = "SZ", CurrencyCode = "SZL", PhoneCode = "+268" },
new CountryMaster { Id = Guid.Parse("69797b53-ba3d-4598-b0fe-08f0485f064f"), Name = "Sweden", CountryCode = "SE", CurrencyCode = "SEK", PhoneCode = "+46" },
new CountryMaster { Id = Guid.Parse("88c1deca-99c8-4780-bac9-12b8737d8d3b"), Name = "Switzerland", CountryCode = "CH", CurrencyCode = "CHF", PhoneCode = "+41" },
new CountryMaster { Id = Guid.Parse("a773a5a2-8f16-430c-a329-fb5b15c5ce5c"), Name = "Syrian Arab Republic", CountryCode = "SY", CurrencyCode = "SYP", PhoneCode = "+963" },
new CountryMaster { Id = Guid.Parse("f7a00e20-4396-48c8-b84e-db8ed61389b7"), Name = "Taiwan, Province of China", CountryCode = "TW", CurrencyCode = "TWD", PhoneCode = "+886" },
new CountryMaster { Id = Guid.Parse("e5713a1e-223b-414c-b7fd-ecb40167038f"), Name = "Tajikistan", CountryCode = "TJ", CurrencyCode = "TJS", PhoneCode = "+992" },
new CountryMaster { Id = Guid.Parse("afe1d9e7-a449-4a62-aa38-91c22c701f3b"), Name = "Tanzania, United Republic of", CountryCode = "TZ", CurrencyCode = "TZS", PhoneCode = "+255" },
new CountryMaster { Id = Guid.Parse("25586e69-13f6-4712-977f-59ff3fc76b54"), Name = "Thailand", CountryCode = "TH", CurrencyCode = "THB", PhoneCode = "+66" },
new CountryMaster { Id = Guid.Parse("8e3ec9b2-ebe5-4a34-b147-d07b3564b070"), Name = "Timor-Leste", CountryCode = "TL", CurrencyCode = "USD", PhoneCode = "+670" },
new CountryMaster { Id = Guid.Parse("4afc0e6e-d1dd-46a6-b499-764d968fff2d"), Name = "Togo", CountryCode = "TG", CurrencyCode = "XOF", PhoneCode = "+228" },
new CountryMaster { Id = Guid.Parse("0c663ff9-910d-4f97-a097-6fbee1c8d952"), Name = "Tokelau", CountryCode = "TK", CurrencyCode = "NZD", PhoneCode = "+690" },
new CountryMaster { Id = Guid.Parse("c430b283-56c2-41b0-85c9-1ad04b00484e"), Name = "Tonga", CountryCode = "TO", CurrencyCode = "TOP", PhoneCode = "+676" },
new CountryMaster { Id = Guid.Parse("4c267a45-a81e-4f0f-8b99-9b5342dfb1b2"), Name = "Trinidad and Tobago", CountryCode = "TT", CurrencyCode = "TTD", PhoneCode = "+1-868" },
new CountryMaster { Id = Guid.Parse("f680a3c3-1af6-4d03-8883-605604c1edaa"), Name = "Tunisia", CountryCode = "TN", CurrencyCode = "TND", PhoneCode = "+216" },
new CountryMaster { Id = Guid.Parse("c918e171-1b63-4d69-8dea-8a3405afb4b0"), Name = "Turkey", CountryCode = "TR", CurrencyCode = "TRY", PhoneCode = "+90" },
new CountryMaster { Id = Guid.Parse("71d5bd36-7f7c-4336-9bea-d8613e9f0549"), Name = "Turkmenistan", CountryCode = "TM", CurrencyCode = "TMT", PhoneCode = "+993" },
new CountryMaster { Id = Guid.Parse("c2c17031-018a-4cf2-883a-afdc62be6913"), Name = "Tuvalu", CountryCode = "TV", CurrencyCode = "AUD", PhoneCode = "+688" },
new CountryMaster { Id = Guid.Parse("3271ca63-53a3-4fea-9ca4-53614e87f9bb"), Name = "Uganda", CountryCode = "UG", CurrencyCode = "UGX", PhoneCode = "+256" },
new CountryMaster { Id = Guid.Parse("c31d19de-8d7c-4742-b42a-51d976307e80"), Name = "Ukraine", CountryCode = "UA", CurrencyCode = "UAH", PhoneCode = "+380" },
new CountryMaster { Id = Guid.Parse("b5cc7d82-a256-46c5-b57b-60cc60e51993"), Name = "United Arab Emirates", CountryCode = "AE", CurrencyCode = "AED", PhoneCode = "+971" },
new CountryMaster { Id = Guid.Parse("1b1f8414-0434-4617-91f0-24e751ca733e"), Name = "United Kingdom", CountryCode = "GB", CurrencyCode = "GBP", PhoneCode = "+44" },
new CountryMaster { Id = Guid.Parse("35e39aa2-b079-4a2a-97a3-38cb685b7b21"), Name = "United States", CountryCode = "US", CurrencyCode = "USD", PhoneCode = "+1" },
new CountryMaster { Id = Guid.Parse("d177e67f-b692-44c7-86ba-88f498e00fa5"), Name = "Uruguay", CountryCode = "UY", CurrencyCode = "UYU", PhoneCode = "+598" },
new CountryMaster { Id = Guid.Parse("09267953-fa85-470d-8442-563246ff633c"), Name = "Uzbekistan", CountryCode = "UZ", CurrencyCode = "UZS", PhoneCode = "+998" },
new CountryMaster { Id = Guid.Parse("ca2cd0ea-9c18-4396-93a9-83d10c0b13e9"), Name = "Vanuatu", CountryCode = "VU", CurrencyCode = "VUV", PhoneCode = "+678" },
new CountryMaster { Id = Guid.Parse("00dfe7ad-b410-4199-9bfe-f646a878e843"), Name = "Venezuela (Bolivarian Republic of)", CountryCode = "VE", CurrencyCode = "VES", PhoneCode = "+58" },
new CountryMaster { Id = Guid.Parse("14ec8951-d219-45eb-af54-2a3c758ad1d3"), Name = "Viet Nam", CountryCode = "VN", CurrencyCode = "VND", PhoneCode = "+84" },
new CountryMaster { Id = Guid.Parse("4aefc892-28a1-4361-9f87-48b656786f20"), Name = "Western Sahara", CountryCode = "EH", CurrencyCode = "MAD", PhoneCode = "+212" },
new CountryMaster { Id = Guid.Parse("bc23f328-86cf-4226-bfea-a100124f3b46"), Name = "Yemen", CountryCode = "YE", CurrencyCode = "YER", PhoneCode = "+967" },
new CountryMaster { Id = Guid.Parse("3ed895c1-5707-4af2-b269-b4bb31eadb61"), Name = "Zambia", CountryCode = "ZM", CurrencyCode = "ZMW", PhoneCode = "+260" },
new CountryMaster { Id = Guid.Parse("f223bedc-e69b-405f-9441-803aa4ccc421"), Name = "Zimbabwe", CountryCode = "ZW", CurrencyCode = "ZWL", PhoneCode = "+263" }
);
modelBuilder.Entity<StateMaster>().HasData(
new StateMaster
{
Id = Guid.Parse("e714c52f-99b2-460a-bada-2f9d3d7fd655"),
Name = "Andhra Pradesh",
StateCode = "AP",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("35740ae6-6a37-46e3-a670-a64061d57a0d"),
Name = "Arunachal Pradesh",
StateCode = "AR",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("c2c65a01-c235-4ccc-aa12-24ae8a2977d1"),
Name = "Andaman and Nicobar Islands",
StateCode = "AN",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("2691a360-a6bc-44ac-8489-e8f857837617"),
Name = "Assam",
StateCode = "AS",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("4f969204-07da-45bd-b5dc-a09cb81cec50"),
Name = "Bihar",
StateCode = "BR",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("eb924eed-ba58-4c53-bfd3-068c702882c2"),
Name = "Chandigarh",
StateCode = "CH",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("b874827f-e000-447d-bcc8-cae2a2ee79b8"),
Name = "Chhattisgarh",
StateCode = "CG",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("2bee8bac-9402-4cf1-84ea-3568cb777af5"),
Name = "Dadra and Nagar Haveli",
StateCode = "DH",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("efa84640-edb4-46c8-8f3a-acab9cb00644"),
Name = "Daman and Diu",
StateCode = "DD",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("817ee873-4ac3-4b9b-8d8c-0dd65816258f"),
Name = "Delhi",
StateCode = "DL",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("09e75806-4933-4bcc-9ed9-2b65d74bdbaf"),
Name = "Goa",
StateCode = "GA",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("59b78982-4754-4fba-8eb4-014f572dd91c"),
Name = "Gujarat",
StateCode = "GJ",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("606d660f-ad7e-4bc9-9367-a50991f73f1c"),
Name = "Haryana",
StateCode = "HR",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("129d35f5-e65a-4252-813b-789b9744dfe1"),
Name = "Himachal Pradesh",
StateCode = "HP",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("8bae2fcb-3e62-4b03-85a5-2144eadf523c"),
Name = "Jammu and Kashmir",
StateCode = "JK",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("87a736fe-99da-4c28-950f-d2e83d29d571"),
Name = "Jharkhand",
StateCode = "JH",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("8c7cf2b4-de80-4a8d-a153-4d811430e0bf"),
Name = "Karnataka",
StateCode = "KA",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("801ee4b4-b55f-4c62-8d46-5d8e245f5836"),
Name = "Kerala",
StateCode = "KL",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("1712065e-795b-4180-89c1-3923074be475"),
Name = "Ladakh",
StateCode = "LA",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("d0e82f11-c465-480e-b3f7-4076639f620e"),
Name = "Lakshadweep",
StateCode = "LD",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("bf257190-ee88-4ec1-b522-623e751089ef"),
Name = "Madhya Pradesh",
StateCode = "MP",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("78ac9770-5e70-4056-81e0-5cd10111e77d"),
Name = "Maharashtra",
StateCode = "MH",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("7be5a09b-4e8e-4afb-8e9b-8d3cc296e1d9"),
Name = "Manipur",
StateCode = "MN",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("b69b47c2-ff5f-4435-b1c8-05f43e8969be"),
Name = "Meghalaya",
StateCode = "ML",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("7b2ee652-3f58-4c56-ab28-4e236a0ee9e3"),
Name = "Mizoram",
StateCode = "MZ",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("7d104f26-2a83-4414-b613-bef73512136f"),
Name = "Nagaland",
StateCode = "NL",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("46413463-4ebc-4f22-b0d9-9e0e24536bdf"),
Name = "Odisha",
StateCode = "OR",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("dc6c9d28-6cca-4516-9a1f-951a4c882602"),
Name = "Puducherry (Pondicherry)",
StateCode = "PY",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("5316c4c6-e6c2-4483-8840-8052762e61fa"),
Name = "Punjab",
StateCode = "PB",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("5d0b2fe4-032f-471f-81bf-3e6c225fa623"),
Name = "Rajasthan",
StateCode = "RJ",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("2e415f1d-e73a-4e9a-8111-51f66773a3c5"),
Name = "Sikkim",
StateCode = "SK",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("f8bdefdb-ccf1-4c66-9fe4-35ea5e751d88"),
Name = "Tamil Nadu",
StateCode = "TN",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("1cb2b5ef-b3d9-4ba9-8545-ffe9ba6fdfef"),
Name = "Telangana",
StateCode = "TS",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("0f5ba98f-0516-4837-ad22-09167cc7843f"),
Name = "Tripura",
StateCode = "TR",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("5096fa56-557b-4e7a-8036-32cdd24f1fa1"),
Name = "Uttar Pradesh",
StateCode = "UP",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("87bda730-ff9a-4012-a391-6cf95b284791"),
Name = "Uttarakhand",
StateCode = "UK",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
},
new StateMaster
{
Id = Guid.Parse("a7568884-3e12-48cd-807a-ea1ba64c9d32"),
Name = "West Bengal",
StateCode = "WB",
CountryId = Guid.Parse("99c2d8fd-7bdf-4a33-b991-a5130ef6e268")
}
);
modelBuilder.Entity<ServicesTaxType>().HasData(
new ServicesTaxType
{
Id = Guid.Parse("00bb3099-92db-4ba3-b2e6-c6624c5a6ffd"),
Name = "CGST (Central Goods and Services Tax)",
Description = "Levied by the Central Government on the supply of services and goods within a state. Applied as part of GST, collected by the center and used for central expenses."
},
new ServicesTaxType
{
Id = Guid.Parse("7fab4ed5-0d5a-4c11-9814-1ba3857d9fa4"),
Name = "SGST (State Goods and Services Tax)",
Description = "Levied by the State Government on the same transaction as CGST, applicable for intra-state supplies. Proceeds go to the state of supply."
},
new ServicesTaxType
{
Id = Guid.Parse("cb9c54f1-ffb3-41e0-a1f6-0081e85cada7"),
Name = "UTGST (Union Territory Goods and Services Tax)",
Description = "Similar to SGST, but applicable in Union Territories which do not have a legislature, replacing SGST there."
},
new ServicesTaxType
{
Id = Guid.Parse("c6afdfd9-1efe-48af-8fb3-a8fd6c03b06a"),
Name = "IGST (Integrated Goods and Services Tax)",
Description = "Levied by the Central Government on inter-state supply of goods and services and imports. It is applicable when the supply crosses state boundaries or country borders."
}
);
modelBuilder.Entity<Module>().HasData(
new Module
{

View File

@ -4,6 +4,7 @@
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,304 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Data_In_Units_And_CompanyTypeMaster_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "CompanyTypeMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_CompanyTypeMasters", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.InsertData(
table: "CompanyTypeMasters",
columns: new[] { "Id", "Description", "Name" },
values: new object[,]
{
{ new Guid("04f543cb-6797-41bf-bfd8-e3c399c9c071"), "Company whose shares are traded publicly", "Public Limited" },
{ new Guid("8703932e-ca8d-4ab9-876b-7c313133356d"), "Owned and run by one individual", "Sole Proprietorship" },
{ new Guid("ea0d374a-e149-4296-9f45-eb36b39047d6"), "Privately held company with limited liability", "Private Limited" },
{ new Guid("f9426132-8bc9-440d-bd4f-a9f2bc7f395a"), "Business owned by two or more partners", "Partnership" }
});
migrationBuilder.InsertData(
table: "UnitTypes",
columns: new[] { "Id", "Description", "Name" },
values: new object[,]
{
{ new Guid("21dc7d85-1018-479f-8e4a-3b52294903ea"), "Measures the extent of an object or distance between two points in space.", "Length" },
{ new Guid("2ecfd89f-8c90-4664-a72e-911b7ad29646"), "Measures the flow of electric charge.", "Electric Current" },
{ new Guid("52733b8a-04bc-4eb7-bade-9f7869283473"), "Measures the three - dimensional space occupied by a substance or object.", "Volume" },
{ new Guid("7ef849c0-0979-4a6c-87ad-9aefb8675679"), "Measures the duration or interval between events.", "Time" },
{ new Guid("806e3b0a-306e-427e-8206-610c1c618cd8"), "Measures how fast an object moves, i.e., distance traveled per unit time.", "Speed" },
{ new Guid("a0dd396c-943a-49cd-87e9-24e1fc9cf1b3"), "Measures the heat or thermal energy level of a system.", "Thermodynamic Temperature" },
{ new Guid("abc1b8cc-fcaf-4e45-8b72-e47036166fbc"), "Measures the perceived brightness of light emitted from a source.", "Luminous Intensity" },
{ new Guid("b1c4b844-1b85-4601-a575-4992c47533ac"), "Counts the number of elementary entities(atoms, molecules, etc.) in a sample.", "Amount of Substance" },
{ new Guid("d1300314-3db6-48c6-b5d2-5542d30d18ea"), "Measures the size of a surface.", "Area" },
{ new Guid("d47a54aa-de46-4aec-9bd6-276b046d35ac"), "Represents the amount of matter in an object.", "Mass" }
});
migrationBuilder.InsertData(
table: "TechnicalUnits",
columns: new[] { "Id", "Description", "Name", "UnitTypeId" },
values: new object[,]
{
{ new Guid("088630c5-6866-49ea-afab-cb6c0d3d0ebb"), "Non-SI unit; equal to 0.3048 meters", "Foot", new Guid("21dc7d85-1018-479f-8e4a-3b52294903ea") },
{ new Guid("0dd0fa51-36bf-4083-a7b1-901f7a3fe234"), "SI base unit of temperature", "Kelvin", new Guid("a0dd396c-943a-49cd-87e9-24e1fc9cf1b3") },
{ new Guid("131b4588-aba2-479c-a1e5-0ad461f16329"), "1000 meters; commonly used for large distances", "Kilometer", new Guid("21dc7d85-1018-479f-8e4a-3b52294903ea") },
{ new Guid("151c7344-7b70-4bea-a04f-39b6f5b43ce0"), "SI derived unit for speed/velocity", "Meter per second", new Guid("806e3b0a-306e-427e-8206-610c1c618cd8") },
{ new Guid("15f4422e-b861-45f6-84e4-c1932b7df119"), "SI derived unit of area", "Square meter", new Guid("d1300314-3db6-48c6-b5d2-5542d30d18ea") },
{ new Guid("18e72164-8ead-45a0-9291-a5179e059c0c"), "Scale for measuring temperature; 0°C = 273.15 K", "Degree Celsius", new Guid("a0dd396c-943a-49cd-87e9-24e1fc9cf1b3") },
{ new Guid("26f6a207-5c8a-43a5-91f3-33eb1f46227f"), "0.000001 kilogram", "Milligram", new Guid("d47a54aa-de46-4aec-9bd6-276b046d35ac") },
{ new Guid("2e7d1cad-4c26-408c-9b70-dd0dc0dcc145"), "Non-SI unit; equal to 0.0254 meters", "Inch", new Guid("21dc7d85-1018-479f-8e4a-3b52294903ea") },
{ new Guid("356a2536-5b0b-4128-baaa-306245068d3c"), "1000 kilograms", "Metric ton", new Guid("d47a54aa-de46-4aec-9bd6-276b046d35ac") },
{ new Guid("36c29f6f-70dc-4ca6-bd1e-64b578de0a0f"), "0.001 cubic meter; commonly used for liquids", "Liter", new Guid("52733b8a-04bc-4eb7-bade-9f7869283473") },
{ new Guid("45dd0601-dc09-4922-9153-ec76431ef0c5"), "0.001 ampere", "Milliampere", new Guid("2ecfd89f-8c90-4664-a72e-911b7ad29646") },
{ new Guid("4752422b-4b9b-4fca-9d78-3a372c0a8e7c"), "0.001 second", "Millisecond", new Guid("7ef849c0-0979-4a6c-87ad-9aefb8675679") },
{ new Guid("4769e008-5e0c-4b60-b434-b23060966d54"), "Non-SI unit; equal to 1609.34 meters", "Mile", new Guid("21dc7d85-1018-479f-8e4a-3b52294903ea") },
{ new Guid("53f3a4ca-f44b-481c-92ab-a9cd49649243"), "SI base unit of electric current", "Ampere", new Guid("2ecfd89f-8c90-4664-a72e-911b7ad29646") },
{ new Guid("6df17071-6506-46dc-bd81-326391941dfa"), "0.001 kilogram", "Gram", new Guid("d47a54aa-de46-4aec-9bd6-276b046d35ac") },
{ new Guid("723496bc-500b-4938-8f25-48472446c6e9"), "SI base unit of amount of substance", "Mole", new Guid("b1c4b844-1b85-4601-a575-4992c47533ac") },
{ new Guid("78b9db6d-5bca-4d87-9d98-7a70fcc400f7"), "Common unit of speed; 1 km/h = 0.27778 m/s", "Kilometer per hour", new Guid("806e3b0a-306e-427e-8206-610c1c618cd8") },
{ new Guid("7bc508a0-c5d1-497e-859c-6a617613d9a6"), "10,000 square meters; used for land area", "Hectare", new Guid("d1300314-3db6-48c6-b5d2-5542d30d18ea") },
{ new Guid("8392eab5-7b8c-4785-873b-81072566b876"), "SI base unit of mass", "Kilogram", new Guid("d47a54aa-de46-4aec-9bd6-276b046d35ac") },
{ new Guid("8ca66275-772e-43c3-bb7b-6b68af4b1839"), "SI base unit of time", "Second", new Guid("7ef849c0-0979-4a6c-87ad-9aefb8675679") },
{ new Guid("8ce98c62-83f3-4a45-afb0-32d4e3edfb9c"), "0.001 meter; for very small lengths", "Millimeter", new Guid("21dc7d85-1018-479f-8e4a-3b52294903ea") },
{ new Guid("93a97a4d-603d-4c00-a516-f3170656f0b2"), "60 seconds", "Minute", new Guid("7ef849c0-0979-4a6c-87ad-9aefb8675679") },
{ new Guid("94eea97c-8853-414c-b7a9-4b05b483353d"), "3600 seconds", "Hour", new Guid("7ef849c0-0979-4a6c-87ad-9aefb8675679") },
{ new Guid("98c8f101-310b-450e-b502-4cf61d9cde1a"), "SI derived unit of volume", "Cubic meter", new Guid("52733b8a-04bc-4eb7-bade-9f7869283473") },
{ new Guid("9e830840-c1f1-4dfc-aaef-74a1f464c798"), "SI base unit of luminous intensity", "Candela", new Guid("abc1b8cc-fcaf-4e45-8b72-e47036166fbc") },
{ new Guid("9f758559-e5a0-40b9-a21f-f9bd5ddd1e9b"), "0.01 meter; used for small lengths", "Centimeter", new Guid("21dc7d85-1018-479f-8e4a-3b52294903ea") },
{ new Guid("b1aab8fe-2d78-4e65-974a-bc09a22446ee"), "0.000001 cubic meter or 0.001 liter", "Milliliter", new Guid("52733b8a-04bc-4eb7-bade-9f7869283473") },
{ new Guid("e0009850-0d6a-4ed0-bf9b-daf1354869f7"), "Non-SI unit; equal to 0.453592 kilograms", "Pound", new Guid("d47a54aa-de46-4aec-9bd6-276b046d35ac") },
{ new Guid("f968eb00-c9b3-483b-ba4b-3ed8ee89de17"), "1,000,000 square meters", "Square kilometer", new Guid("d1300314-3db6-48c6-b5d2-5542d30d18ea") },
{ new Guid("fae4dd36-e9eb-49a4-bcaa-9e723fd43069"), "SI base unit of length", "Meter", new Guid("21dc7d85-1018-479f-8e4a-3b52294903ea") }
});
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "CompanyTypeMasters");
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("088630c5-6866-49ea-afab-cb6c0d3d0ebb"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("0dd0fa51-36bf-4083-a7b1-901f7a3fe234"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("131b4588-aba2-479c-a1e5-0ad461f16329"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("151c7344-7b70-4bea-a04f-39b6f5b43ce0"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("15f4422e-b861-45f6-84e4-c1932b7df119"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("18e72164-8ead-45a0-9291-a5179e059c0c"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("26f6a207-5c8a-43a5-91f3-33eb1f46227f"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("2e7d1cad-4c26-408c-9b70-dd0dc0dcc145"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("356a2536-5b0b-4128-baaa-306245068d3c"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("36c29f6f-70dc-4ca6-bd1e-64b578de0a0f"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("45dd0601-dc09-4922-9153-ec76431ef0c5"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("4752422b-4b9b-4fca-9d78-3a372c0a8e7c"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("4769e008-5e0c-4b60-b434-b23060966d54"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("53f3a4ca-f44b-481c-92ab-a9cd49649243"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("6df17071-6506-46dc-bd81-326391941dfa"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("723496bc-500b-4938-8f25-48472446c6e9"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("78b9db6d-5bca-4d87-9d98-7a70fcc400f7"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("7bc508a0-c5d1-497e-859c-6a617613d9a6"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("8392eab5-7b8c-4785-873b-81072566b876"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("8ca66275-772e-43c3-bb7b-6b68af4b1839"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("8ce98c62-83f3-4a45-afb0-32d4e3edfb9c"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("93a97a4d-603d-4c00-a516-f3170656f0b2"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("94eea97c-8853-414c-b7a9-4b05b483353d"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("98c8f101-310b-450e-b502-4cf61d9cde1a"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("9e830840-c1f1-4dfc-aaef-74a1f464c798"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("9f758559-e5a0-40b9-a21f-f9bd5ddd1e9b"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("b1aab8fe-2d78-4e65-974a-bc09a22446ee"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("e0009850-0d6a-4ed0-bf9b-daf1354869f7"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("f968eb00-c9b3-483b-ba4b-3ed8ee89de17"));
migrationBuilder.DeleteData(
table: "TechnicalUnits",
keyColumn: "Id",
keyValue: new Guid("fae4dd36-e9eb-49a4-bcaa-9e723fd43069"));
migrationBuilder.DeleteData(
table: "UnitTypes",
keyColumn: "Id",
keyValue: new Guid("21dc7d85-1018-479f-8e4a-3b52294903ea"));
migrationBuilder.DeleteData(
table: "UnitTypes",
keyColumn: "Id",
keyValue: new Guid("2ecfd89f-8c90-4664-a72e-911b7ad29646"));
migrationBuilder.DeleteData(
table: "UnitTypes",
keyColumn: "Id",
keyValue: new Guid("52733b8a-04bc-4eb7-bade-9f7869283473"));
migrationBuilder.DeleteData(
table: "UnitTypes",
keyColumn: "Id",
keyValue: new Guid("7ef849c0-0979-4a6c-87ad-9aefb8675679"));
migrationBuilder.DeleteData(
table: "UnitTypes",
keyColumn: "Id",
keyValue: new Guid("806e3b0a-306e-427e-8206-610c1c618cd8"));
migrationBuilder.DeleteData(
table: "UnitTypes",
keyColumn: "Id",
keyValue: new Guid("a0dd396c-943a-49cd-87e9-24e1fc9cf1b3"));
migrationBuilder.DeleteData(
table: "UnitTypes",
keyColumn: "Id",
keyValue: new Guid("abc1b8cc-fcaf-4e45-8b72-e47036166fbc"));
migrationBuilder.DeleteData(
table: "UnitTypes",
keyColumn: "Id",
keyValue: new Guid("b1c4b844-1b85-4601-a575-4992c47533ac"));
migrationBuilder.DeleteData(
table: "UnitTypes",
keyColumn: "Id",
keyValue: new Guid("d1300314-3db6-48c6-b5d2-5542d30d18ea"));
migrationBuilder.DeleteData(
table: "UnitTypes",
keyColumn: "Id",
keyValue: new Guid("d47a54aa-de46-4aec-9bd6-276b046d35ac"));
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,280 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Made_Status_Mapping_Nullable : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_PurchaseStatusMappings_PurchaseOrderStatus_NextPurchaseStatu~",
table: "PurchaseStatusMappings");
migrationBuilder.DropForeignKey(
name: "FK_PurchaseStatusMappings_PurchaseOrderStatus_PreviousPurchaseS~",
table: "PurchaseStatusMappings");
migrationBuilder.DropForeignKey(
name: "FK_RequisitionStatusMappings_RequisitionStatus_PreviousRequisit~",
table: "RequisitionStatusMappings");
migrationBuilder.AddColumn<Guid>(
name: "CompanyTypeId",
table: "Suppliers",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci");
migrationBuilder.AlterColumn<Guid>(
name: "PreviousRequisitionStatusId",
table: "RequisitionStatusMappings",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci",
oldClrType: typeof(Guid),
oldType: "char(36)")
.OldAnnotation("Relational:Collation", "ascii_general_ci");
migrationBuilder.AlterColumn<Guid>(
name: "PreviousPurchaseStatusId",
table: "PurchaseStatusMappings",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci",
oldClrType: typeof(Guid),
oldType: "char(36)")
.OldAnnotation("Relational:Collation", "ascii_general_ci");
migrationBuilder.AlterColumn<Guid>(
name: "NextPurchaseStatusId",
table: "PurchaseStatusMappings",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci",
oldClrType: typeof(Guid),
oldType: "char(36)")
.OldAnnotation("Relational:Collation", "ascii_general_ci");
migrationBuilder.InsertData(
table: "ProductCategoryMasters",
columns: new[] { "Id", "Description", "IsActive", "Name", "ShortName" },
values: new object[,]
{
{ new Guid("2e097d8b-63a2-4b96-8c55-61c2826f1001"), "Materials, components, and systems used in civil and structural engineering, including concrete, steel, reinforcement, and construction accessories.", true, "Civil/Structural", "CIV" },
{ new Guid("57b4ccf4-9e34-422d-b2c9-0a16d9c91009"), "Hand tools, power tools, measuring instruments, and workshop equipment for industrial and maintenance use.", true, "Tools & Equipment", "TOO" },
{ new Guid("6089cc9c-70dd-4d3a-8b68-0c7c79371004"), "Mechanical components and systems such as pumps, motors, gearboxes, bearings, compressors, and power transmission equipment.", true, "Mechanical & Power Transmission", "MEC" },
{ new Guid("a4ad945b-9213-4f4f-b823-b8c277871005"), "Pipes, fittings, valves, sanitary fixtures, and drainage systems used for water supply and waste management.", true, "Plumbing & Sanitary", "PLU" },
{ new Guid("ac930654-b973-4d5c-b13b-06e6815c1008"), "Industrial machinery, plant equipment, forklifts, cranes, and material handling systems.", true, "Plant, Machinery & Material Handling", "PLA" },
{ new Guid("adbd1c50-e845-4b52-9406-2f1e1c881007"), "Firefighting systems, alarms, extinguishers, safety gear, and related safety infrastructure.", true, "Fire & Safety", "FIR" },
{ new Guid("b5c4f7b3-bf24-4f19-9b5c-2deb12131002"), "Cables, lighting, wiring devices, control panels, transformers, and electrical distribution systems for building and industrial use.", true, "Electrical", "ELE" },
{ new Guid("bbdc04bb-d930-428c-aabc-72e198ea100c"), "Industrial packaging materials, adhesive tapes, cleaning agents, lubricants, and operational consumables.", true, "Packaging, Consumables, Chemicals & Lubricants", "PAC" },
{ new Guid("cd59914f-4e6b-47eb-8d2a-eecb85bc100e"), "Vehicles, fleet equipment, spare parts, lubricants, and accessories for automotive applications.", true, "Automotive & Fleet", "AUT" },
{ new Guid("d77d7b2c-83a3-44e9-8dea-62ee85bb1006"), "Heating, ventilation, and air conditioning equipment including chillers, ducts, diffusers, and air handling units.", true, "HVAC", "HVA" },
{ new Guid("d9677af1-6f91-44da-b12e-0f7ab00c100d"), "Cement, tiles, paints, glass, flooring, and other architectural finishing materials.", true, "Building Materials & Finishes", "BLD" },
{ new Guid("db8c7b16-b6c4-463e-9a59-6558a837100a"), "General office supplies including stationery, furniture, printers, and consumables for daily operations.", true, "Office Supplies & Stationery", "OFF" },
{ new Guid("e0e7d2cf-0438-4acd-aa1e-09304d5b1003"), "Electronic and communication products including data cabling, networking equipment, surveillance systems, and audio-visual devices.", true, "Electronics/ICT", "ICT" },
{ new Guid("fb081cf7-fef2-4d91-a052-4922d20d100b"), "Computers, servers, storage devices, network accessories, and related IT infrastructure.", true, "IT, Computing & Networking", "ITC" }
});
migrationBuilder.CreateIndex(
name: "IX_Suppliers_CompanyTypeId",
table: "Suppliers",
column: "CompanyTypeId");
migrationBuilder.AddForeignKey(
name: "FK_PurchaseStatusMappings_PurchaseOrderStatus_NextPurchaseStatu~",
table: "PurchaseStatusMappings",
column: "NextPurchaseStatusId",
principalTable: "PurchaseOrderStatus",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_PurchaseStatusMappings_PurchaseOrderStatus_PreviousPurchaseS~",
table: "PurchaseStatusMappings",
column: "PreviousPurchaseStatusId",
principalTable: "PurchaseOrderStatus",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_RequisitionStatusMappings_RequisitionStatus_PreviousRequisit~",
table: "RequisitionStatusMappings",
column: "PreviousRequisitionStatusId",
principalTable: "RequisitionStatus",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Suppliers_CompanyTypeMasters_CompanyTypeId",
table: "Suppliers",
column: "CompanyTypeId",
principalTable: "CompanyTypeMasters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_PurchaseStatusMappings_PurchaseOrderStatus_NextPurchaseStatu~",
table: "PurchaseStatusMappings");
migrationBuilder.DropForeignKey(
name: "FK_PurchaseStatusMappings_PurchaseOrderStatus_PreviousPurchaseS~",
table: "PurchaseStatusMappings");
migrationBuilder.DropForeignKey(
name: "FK_RequisitionStatusMappings_RequisitionStatus_PreviousRequisit~",
table: "RequisitionStatusMappings");
migrationBuilder.DropForeignKey(
name: "FK_Suppliers_CompanyTypeMasters_CompanyTypeId",
table: "Suppliers");
migrationBuilder.DropIndex(
name: "IX_Suppliers_CompanyTypeId",
table: "Suppliers");
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2e097d8b-63a2-4b96-8c55-61c2826f1001"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("57b4ccf4-9e34-422d-b2c9-0a16d9c91009"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("6089cc9c-70dd-4d3a-8b68-0c7c79371004"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("a4ad945b-9213-4f4f-b823-b8c277871005"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("ac930654-b973-4d5c-b13b-06e6815c1008"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("adbd1c50-e845-4b52-9406-2f1e1c881007"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("b5c4f7b3-bf24-4f19-9b5c-2deb12131002"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("bbdc04bb-d930-428c-aabc-72e198ea100c"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cd59914f-4e6b-47eb-8d2a-eecb85bc100e"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("d77d7b2c-83a3-44e9-8dea-62ee85bb1006"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("d9677af1-6f91-44da-b12e-0f7ab00c100d"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("db8c7b16-b6c4-463e-9a59-6558a837100a"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("e0e7d2cf-0438-4acd-aa1e-09304d5b1003"));
migrationBuilder.DeleteData(
table: "ProductCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("fb081cf7-fef2-4d91-a052-4922d20d100b"));
migrationBuilder.DropColumn(
name: "CompanyTypeId",
table: "Suppliers");
migrationBuilder.AlterColumn<Guid>(
name: "PreviousRequisitionStatusId",
table: "RequisitionStatusMappings",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci",
oldClrType: typeof(Guid),
oldType: "char(36)",
oldNullable: true)
.OldAnnotation("Relational:Collation", "ascii_general_ci");
migrationBuilder.AlterColumn<Guid>(
name: "PreviousPurchaseStatusId",
table: "PurchaseStatusMappings",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci",
oldClrType: typeof(Guid),
oldType: "char(36)",
oldNullable: true)
.OldAnnotation("Relational:Collation", "ascii_general_ci");
migrationBuilder.AlterColumn<Guid>(
name: "NextPurchaseStatusId",
table: "PurchaseStatusMappings",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci",
oldClrType: typeof(Guid),
oldType: "char(36)",
oldNullable: true)
.OldAnnotation("Relational:Collation", "ascii_general_ci");
migrationBuilder.AddForeignKey(
name: "FK_PurchaseStatusMappings_PurchaseOrderStatus_NextPurchaseStatu~",
table: "PurchaseStatusMappings",
column: "NextPurchaseStatusId",
principalTable: "PurchaseOrderStatus",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_PurchaseStatusMappings_PurchaseOrderStatus_PreviousPurchaseS~",
table: "PurchaseStatusMappings",
column: "PreviousPurchaseStatusId",
principalTable: "PurchaseOrderStatus",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_RequisitionStatusMappings_RequisitionStatus_PreviousRequisit~",
table: "RequisitionStatusMappings",
column: "PreviousRequisitionStatusId",
principalTable: "RequisitionStatus",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,64 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Made_Requisition_Status_Mapping_Nullable : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_RequisitionStatusMappings_RequisitionStatus_NextRequisitionS~",
table: "RequisitionStatusMappings");
migrationBuilder.AlterColumn<Guid>(
name: "NextRequisitionStatusId",
table: "RequisitionStatusMappings",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci",
oldClrType: typeof(Guid),
oldType: "char(36)")
.OldAnnotation("Relational:Collation", "ascii_general_ci");
migrationBuilder.AddForeignKey(
name: "FK_RequisitionStatusMappings_RequisitionStatus_NextRequisitionS~",
table: "RequisitionStatusMappings",
column: "NextRequisitionStatusId",
principalTable: "RequisitionStatus",
principalColumn: "Id");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_RequisitionStatusMappings_RequisitionStatus_NextRequisitionS~",
table: "RequisitionStatusMappings");
migrationBuilder.AlterColumn<Guid>(
name: "NextRequisitionStatusId",
table: "RequisitionStatusMappings",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci",
oldClrType: typeof(Guid),
oldType: "char(36)",
oldNullable: true)
.OldAnnotation("Relational:Collation", "ascii_general_ci");
migrationBuilder.AddForeignKey(
name: "FK_RequisitionStatusMappings_RequisitionStatus_NextRequisitionS~",
table: "RequisitionStatusMappings",
column: "NextRequisitionStatusId",
principalTable: "RequisitionStatus",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
}
}

View File

@ -4,6 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>

View File

@ -0,0 +1,14 @@
namespace Marco.Pms.Model.Dtos.Inventory
{
public class ItemDto
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string Description { get; set; } = default!;
public Guid ItemGroupId { get; set; }
public Guid TechnicalUnitId { get; set; }
public int Threshold { get; set; }
public List<SupplierManufacturerDto>? Suppliers { get; set; }
public List<ItemTaxTypeDto>? TaxRates { get; set; }
}
}

View File

@ -0,0 +1,8 @@
namespace Marco.Pms.Model.Dtos.Inventory
{
public class ItemTaxTypeDto
{
public Guid ServicesTaxTypeId { get; set; }
public int Rate { get; set; }
}
}

View File

@ -0,0 +1,9 @@
namespace Marco.Pms.Model.Dtos.Inventory
{
public class ProductCategoryDto
{
public Guid? Id { get; set; }
public required string Name { get; set; }
public required string Description { get; set; }
}
}

View File

@ -0,0 +1,9 @@
namespace Marco.Pms.Model.Dtos.Inventory
{
public class PurchaseOrderStatusDto
{
public Guid? Id { get; set; }
public required string Name { get; set; }
public required string Description { get; set; }
}
}

View File

@ -0,0 +1,9 @@
namespace Marco.Pms.Model.Dtos.Inventory
{
public class PurchaseStatusMappingDto
{
public Guid PurchaseStatusId { get; set; }
public Guid NextPurchaseStatusId { get; set; }
public bool IsActive { get; set; }
}
}

View File

@ -0,0 +1,9 @@
namespace Marco.Pms.Model.Dtos.Inventory
{
public class RequisitionStatusDto
{
public Guid? Id { get; set; }
public required string Name { get; set; }
public required string Description { get; set; }
}
}

View File

@ -0,0 +1,9 @@
namespace Marco.Pms.Model.Dtos.Inventory
{
public class RequisitionStatusMappingDto
{
public Guid RequisitionStatusId { get; set; }
public Guid NextRequisitionStatusId { get; set; }
public bool IsActive { get; set; }
}
}

View File

@ -0,0 +1,12 @@
namespace Marco.Pms.Model.Dtos.Inventory
{
public class SupplierManufacturerDto
{
public Guid ManufacturerId { get; set; }
public Guid SupplierId { get; set; }
public double BasePrice { get; set; }
public int PurchaseLeadTime { get; set; }
public Guid CurrencyId { get; set; }
public bool IsActive { get; set; }
}
}

View File

@ -0,0 +1,33 @@
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class Product : TenantRelation
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string Description { get; set; } = default!;
public string ShortName { get; set; } = "PDT";
public bool IsActive { get; set; } = true;
public Guid ProductCategoryId { get; set; }
[ValidateNever]
[ForeignKey("ProductCategoryId")]
public ProductCategoryMaster? ProductCategory { get; set; }
public DateTime CreatedAt { get; set; }
public Guid CreatedById { get; set; }
[ValidateNever]
[ForeignKey("CreatedById")]
public Employee? CreatedBy { get; set; }
public DateTime? UpdatedAt { get; set; }
public Guid? UpdatedById { get; set; }
[ValidateNever]
[ForeignKey("UpdatedById")]
public Employee? UpdatedBy { get; set; }
}
}

View File

@ -0,0 +1,11 @@
namespace Marco.Pms.Model.Inventory
{
public class ProductCategoryMaster
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string Description { get; set; } = default!;
public string ShortName { get; set; } = "PCM";
public bool IsActive { get; set; } = true;
}
}

View File

@ -0,0 +1,57 @@
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Master;
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class ProductDetail : TenantRelation
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string Description { get; set; } = default!;
public string ProductUId { get; set; } = "PGM-PDT-00001";
public string? ModelNumber { get; set; }
public Guid? ProductAttributeId { get; set; }
public Guid ProductId { get; set; }
[ValidateNever]
[ForeignKey("ProductId")]
public Product? Product { get; set; }
public Guid TechnicalUnitId { get; set; }
[ValidateNever]
[ForeignKey("TechnicalUnitId")]
public TechnicalUnit? TechnicalUnit { get; set; }
public Guid ManufacturerId { get; set; }
[ValidateNever]
[ForeignKey("ManufacturerId")]
public Manufacturer? Manufacturer { get; set; }
public double BasePrice { get; set; }
public Guid CurrencyId { get; set; }
[ValidateNever]
[ForeignKey("CurrencyId")]
public CurrencyMaster? Currency { get; set; }
public Guid CountryId { get; set; }
[ValidateNever]
[ForeignKey("CountryId")]
public CountryMaster? Country { get; set; }
public bool IsActive { get; set; } = true;
public DateTime CreatedAt { get; set; }
public Guid CreatedById { get; set; }
[ValidateNever]
[ForeignKey("CreatedById")]
public Employee? CreatedBy { get; set; }
public DateTime? UpdatedAt { get; set; }
public Guid? UpdatedById { get; set; }
[ValidateNever]
[ForeignKey("UpdatedById")]
public Employee? UpdatedBy { get; set; }
}
}

View File

@ -0,0 +1,31 @@
using Marco.Pms.Model.Master;
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class ProductSupplierMapping : TenantRelation
{
public Guid Id { get; set; }
public Guid ProductDetailId { get; set; }
[ValidateNever]
[ForeignKey("ProductDetailId")]
public ProductDetail? ProductDetail { get; set; }
public Guid SupplierId { get; set; }
[ValidateNever]
[ForeignKey("SupplierId")]
public Supplier? Supplier { get; set; }
public double BasePrice { get; set; }
public int PurchaseLeadTime { get; set; }
public Guid CurrencyId { get; set; }
[ValidateNever]
[ForeignKey("CurrencyId")]
public CurrencyMaster? Currency { get; set; }
public DateTime ExpireAt { get; set; }
public bool IsActive { get; set; } = true;
}
}

View File

@ -0,0 +1,25 @@
using Marco.Pms.Model.Master;
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class ProductTaxTypeMapping : TenantRelation
{
public Guid Id { get; set; }
public Guid ProductDetailId { get; set; }
[ValidateNever]
[ForeignKey("ProductDetailId")]
public ProductDetail? ProductDetail { get; set; }
public Guid ServicesTaxTypeId { get; set; }
[ValidateNever]
[ForeignKey("ServicesTaxTypeId")]
public ServicesTaxType? ServicesTaxType { get; set; }
public int Rate { get; set; }
public DateTime ExpireAt { get; set; }
public bool IsActive { get; set; } = true;
}
}

View File

@ -0,0 +1,50 @@
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Projects;
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class PurchaseOrder : TenantRelation
{
public Guid Id { get; set; }
public Guid ItemSupplierMappingId { get; set; }
[ValidateNever]
[ForeignKey("ItemSupplierMappingId")]
public ProductSupplierMapping? ItemSupplierMapping { get; set; }
public Guid ProjectId { get; set; }
[ValidateNever]
[ForeignKey("ProjectId")]
public Project? Project { get; set; }
public Guid RequisitionBatchId { get; set; }
public int NumberOfItems { get; set; }
public double PricePerItem { get; set; }
public double TotalBasePrice { get; set; }
public double TotalTaxPrice { get; set; }
public double TotalDiscountPrice { get; set; }
public double TotalPrice { get; set; }
public Guid PurchaseOrderStatusId { get; set; }
[ValidateNever]
[ForeignKey("PurchaseOrderStatusId")]
public PurchaseOrderStatus? PurchaseOrderStatus { get; set; }
public Guid BatchId { get; set; }
public string PurchaseOrderUId { get; set; } = "PO-00001";
public bool IsActive { get; set; } = true;
public DateTime CreatedAt { get; set; }
public Guid CreatedById { get; set; }
[ValidateNever]
[ForeignKey("CreatedById")]
public Employee? CreatedBy { get; set; }
public DateTime? UpdatedAt { get; set; }
public Guid? UpdatedById { get; set; }
[ValidateNever]
[ForeignKey("UpdatedById")]
public Employee? UpdatedBy { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using Marco.Pms.Model.Utilities;
namespace Marco.Pms.Model.Inventory
{
public class PurchaseOrderStatus : TenantRelation
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string Description { get; set; } = default!;
public bool IsActive { get; set; } = true;
}
}

View File

@ -0,0 +1,29 @@
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class PurchaseOrderStatusLogs : TenantRelation
{
public Guid Id { get; set; }
public Guid PreviousPurchaseStatusId { get; set; }
[ValidateNever]
[ForeignKey("PreviousPurchaseStatusId")]
public PurchaseOrderStatus? PreviousPurchaseStatus { get; set; }
public string? Comment { get; set; }
public Guid PurchaseStatusId { get; set; }
[ValidateNever]
[ForeignKey("PurchaseStatusId")]
public PurchaseOrderStatus? PurchaseStatus { get; set; }
public DateTime UpdatedAt { get; set; }
public Guid UpdatedById { get; set; }
[ValidateNever]
[ForeignKey("UpdatedById")]
public Employee? UpdatedBy { get; set; }
}
}

View File

@ -0,0 +1,22 @@
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class PurchaseStatusEmployeeMapping : TenantRelation
{
public Guid Id { get; set; }
public Guid PurchaseOrderStatusId { get; set; }
[ValidateNever]
[ForeignKey("PurchaseOrderStatusId")]
public PurchaseOrderStatus? PurchaseOrderStatus { get; set; }
public Guid EmployeeId { get; set; }
[ValidateNever]
[ForeignKey("EmployeeId")]
public Employee? Employee { get; set; }
}
}

View File

@ -0,0 +1,26 @@
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class PurchaseStatusMapping : TenantRelation
{
public Guid Id { get; set; }
public Guid? PreviousPurchaseStatusId { get; set; }
[ValidateNever]
[ForeignKey("PreviousPurchaseStatusId")]
public PurchaseOrderStatus? PreviousPurchaseStatus { get; set; }
public Guid PurchaseStatusId { get; set; }
[ValidateNever]
[ForeignKey("PurchaseStatusId")]
public PurchaseOrderStatus? PurchaseStatus { get; set; }
public Guid? NextPurchaseStatusId { get; set; }
[ValidateNever]
[ForeignKey("NextPurchaseStatusId")]
public PurchaseOrderStatus? NextPurchaseStatus { get; set; }
}
}

View File

@ -0,0 +1,44 @@
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Projects;
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class Requisition : TenantRelation
{
public Guid Id { get; set; }
public Guid ProductDetailId { get; set; }
[ValidateNever]
[ForeignKey("ProductDetailId")]
public ProductDetail? ProductDetail { get; set; }
public Guid ProjectId { get; set; }
[ValidateNever]
[ForeignKey("ProjectId")]
public Project? Project { get; set; }
public Guid BatchId { get; set; }
public int NumberOfItems { get; set; }
public Guid RequisitionStatusId { get; set; }
[ValidateNever]
[ForeignKey("RequisitionStatusId")]
public RequisitionStatus? RequisitionStatus { get; set; }
public string RequisitionUId { get; set; } = "Requisition-00001";
public bool IsActive { get; set; } = true;
public DateTime CreatedAt { get; set; }
public Guid CreatedById { get; set; }
[ValidateNever]
[ForeignKey("CreatedById")]
public Employee? CreatedBy { get; set; }
public DateTime? UpdatedAt { get; set; }
public Guid? UpdatedById { get; set; }
[ValidateNever]
[ForeignKey("UpdatedById")]
public Employee? UpdatedBy { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using Marco.Pms.Model.Utilities;
namespace Marco.Pms.Model.Inventory
{
public class RequisitionStatus : TenantRelation
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string Description { get; set; } = default!;
public bool IsActive { get; set; } = true;
}
}

View File

@ -0,0 +1,22 @@
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class RequisitionStatusEmployeeMapping : TenantRelation
{
public Guid Id { get; set; }
public Guid RequisitionStatusId { get; set; }
[ValidateNever]
[ForeignKey("RequisitionStatusId")]
public RequisitionStatus? RequisitionStatus { get; set; }
public Guid EmployeeId { get; set; }
[ValidateNever]
[ForeignKey("EmployeeId")]
public Employee? Employee { get; set; }
}
}

View File

@ -0,0 +1,29 @@
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class RequisitionStatusLogs : TenantRelation
{
public Guid Id { get; set; }
public Guid PreviousRequisitionStatusId { get; set; }
[ValidateNever]
[ForeignKey("PreviousRequisitionStatusId")]
public PurchaseOrderStatus? PreviousRequisitionStatus { get; set; }
public string? Comment { get; set; }
public Guid RequisitionStatusId { get; set; }
[ValidateNever]
[ForeignKey("RequisitionStatusId")]
public RequisitionStatus? RequisitionStatus { get; set; }
public DateTime UpdatedAt { get; set; }
public Guid UpdatedById { get; set; }
[ValidateNever]
[ForeignKey("UpdatedById")]
public Employee? UpdatedBy { get; set; }
}
}

View File

@ -0,0 +1,26 @@
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class RequisitionStatusMapping : TenantRelation
{
public Guid Id { get; set; }
public Guid? PreviousRequisitionStatusId { get; set; }
[ValidateNever]
[ForeignKey("PreviousRequisitionStatusId")]
public RequisitionStatus? PreviousRequisitionStatus { get; set; }
public Guid RequisitionStatusId { get; set; }
[ValidateNever]
[ForeignKey("RequisitionStatusId")]
public RequisitionStatus? RequisitionStatus { get; set; }
public Guid? NextRequisitionStatusId { get; set; }
[ValidateNever]
[ForeignKey("NextRequisitionStatusId")]
public RequisitionStatus? NextRequisitionStatus { get; set; }
}
}

View File

@ -0,0 +1,37 @@
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Master;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class Supplier
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string? Email { get; set; }
public string SupplierGroup { get; set; } = default!;
public string BankName { get; set; } = default!;
public string AccountNumber { get; set; } = default!;
public string IFSC { get; set; } = default!;
public string SupplierUId { get; set; } = "Supplier-00001";
public bool IsActive { get; set; } = true;
public Guid CompanyTypeId { get; set; }
[ValidateNever]
[ForeignKey("CompanyTypeId")]
public CompanyTypeMaster? CompanyType { get; set; }
public DateTime CreatedAt { get; set; }
public Guid CreatedById { get; set; }
[ValidateNever]
[ForeignKey("CreatedById")]
public Employee? CreatedBy { get; set; }
public DateTime? UpdatedAt { get; set; }
public Guid? UpdatedById { get; set; }
[ValidateNever]
[ForeignKey("UpdatedById")]
public Employee? UpdatedBy { get; set; }
}
}

View File

@ -0,0 +1,36 @@
using Marco.Pms.Model.Directory;
using Marco.Pms.Model.Master;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class SupplierStateMapping
{
public Guid Id { get; set; }
public Guid StateId { get; set; }
[ValidateNever]
[ForeignKey("StateId")]
public StateMaster? State { get; set; }
public string Street { get; set; } = default!;
public string CityName { get; set; } = default!;
public string PinCode { get; set; } = default!;
public Guid CountryId { get; set; }
[ValidateNever]
[ForeignKey("CountryId")]
public CountryMaster? Country { get; set; }
public string GSTNumber { get; set; } = default!;
public Guid ContactId { get; set; }
[ValidateNever]
[ForeignKey("ContactId")]
public Contact? Contact { get; set; }
public Guid SupplierId { get; set; }
[ValidateNever]
[ForeignKey("SupplierId")]
public Supplier? Supplier { get; set; }
}
}

View File

@ -4,6 +4,7 @@
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>

View File

@ -0,0 +1,9 @@
namespace Marco.Pms.Model.Master
{
public class CompanyTypeMaster
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string Description { get; set; } = default!;
}
}

View File

@ -0,0 +1,11 @@
namespace Marco.Pms.Model.Master
{
public class CountryMaster
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string CountryCode { get; set; } = default!;
public string CurrencyCode { get; set; } = default!;
public string PhoneCode { get; set; } = default!;
}
}

View File

@ -0,0 +1,8 @@
namespace Marco.Pms.Model.Master
{
public class Manufacturer
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
}
}

View File

@ -0,0 +1,9 @@
namespace Marco.Pms.Model.Master
{
public class ServicesTaxType
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string Description { get; set; } = default!;
}
}

View File

@ -0,0 +1,17 @@
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Master
{
public class StateMaster
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string StateCode { get; set; } = default!;
public Guid CountryId { get; set; }
[ValidateNever]
[ForeignKey("CountryId")]
public CountryMaster? Country { get; set; }
}
}

View File

@ -0,0 +1,8 @@
namespace Marco.Pms.Model.Master
{
public class TaxSlabMaster
{
public Guid Id { get; set; }
public int Percentage { get; set; }
}
}

View File

@ -0,0 +1,17 @@
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Master
{
public class TechnicalUnit
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string Description { get; set; } = default!;
public Guid UnitTypeId { get; set; }
[ValidateNever]
[ForeignKey("UnitTypeId")]
public UnitType? UnitType { get; set; }
}
}

View File

@ -0,0 +1,9 @@
namespace Marco.Pms.Model.Master
{
public class UnitType
{
public Guid Id { get; set; }
public string Name { get; set; } = default!;
public string Description { get; set; } = default!;
}
}

View File

@ -0,0 +1,11 @@
namespace Marco.Pms.Model.ViewModels.Inventory
{
public class ProductCategoryDetailsVM
{
public Guid Id { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public bool IsActive { get; set; }
public List<ProductVM>? Products { get; set; }
}
}

View File

@ -0,0 +1,10 @@
namespace Marco.Pms.Model.ViewModels.Inventory
{
public class ProductCategoryVM
{
public Guid Id { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public bool IsActive { get; set; }
}
}

View File

@ -0,0 +1,11 @@
namespace Marco.Pms.Model.ViewModels.Inventory
{
public class ProductVM
{
public Guid Id { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public bool IsActive { get; set; }
public Guid ItemCategoryId { get; set; }
}
}

View File

@ -0,0 +1,12 @@
namespace Marco.Pms.Model.ViewModels.Inventory
{
public class PurchaseOrderStatusDetailsVM
{
public Guid Id { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public bool IsActive { get; set; }
public List<PurchaseOrderStatusVM>? PreviousPurchaseStatus { get; set; }
public List<PurchaseOrderStatusVM>? NextPurchaseStatus { get; set; }
}
}

View File

@ -0,0 +1,10 @@
namespace Marco.Pms.Model.ViewModels.Inventory
{
public class PurchaseOrderStatusVM
{
public Guid Id { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public bool IsActive { get; set; }
}
}

View File

@ -0,0 +1,10 @@
namespace Marco.Pms.Model.ViewModels.Inventory
{
public class PurchaseStatusMappingVM
{
public Guid Id { get; set; }
public PurchaseOrderStatusVM? PreviousPurchaseStatus { get; set; }
public PurchaseOrderStatusVM? PurchaseStatus { get; set; }
public PurchaseOrderStatusVM? NextPurchaseStatus { get; set; }
}
}

View File

@ -0,0 +1,12 @@
namespace Marco.Pms.Model.ViewModels.Inventory
{
public class RequisitionStatusDetailsVM
{
public Guid Id { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public bool IsActive { get; set; }
public List<RequisitionStatusVM>? PreviousRequisitionStatus { get; set; }
public List<RequisitionStatusVM>? NextRequisitionStatus { get; set; }
}
}

View File

@ -0,0 +1,10 @@
namespace Marco.Pms.Model.ViewModels.Inventory
{
public class RequisitionStatusMappingVM
{
public Guid Id { get; set; }
public RequisitionStatusVM? PreviousRequisitionStatus { get; set; }
public RequisitionStatusVM? RequisitionStatus { get; set; }
public RequisitionStatusVM? NextRequisitionStatus { get; set; }
}
}

View File

@ -0,0 +1,10 @@
namespace Marco.Pms.Model.ViewModels.Inventory
{
public class RequisitionStatusVM
{
public Guid Id { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public bool IsActive { get; set; }
}
}

View File

@ -576,7 +576,9 @@ namespace Marco.Pms.Services.Controllers
ProjectManagement, new List<MasterMenuVM>
{
new MasterMenuVM { Id = 3, Name = "Work Category" },
new MasterMenuVM { Id = 8, Name = "Services" }
new MasterMenuVM { Id = 8, Name = "Services" },
new MasterMenuVM { Id = 12, Name = "Requisition Status" },
new MasterMenuVM { Id = 13, Name = "Purchase Order Status" }
}
},
{
@ -591,7 +593,7 @@ namespace Marco.Pms.Services.Controllers
{
new MasterMenuVM { Id = 6, Name = "Expense Type" },
new MasterMenuVM { Id = 7, Name = "Payment Mode" },
new MasterMenuVM { Id = 10, Name = "Payment Adjustment Head" }
new MasterMenuVM { Id = 11, Name = "Payment Adjustment Head" }
}
}
};
@ -599,6 +601,8 @@ namespace Marco.Pms.Services.Controllers
if (tenantId == superTenantId)
{
var superResponse = featureMenus.Values.SelectMany(list => list).OrderBy(r => r.Name).ToList();
superResponse.Add(new MasterMenuVM { Id = 14, Name = "Product Category" });
superResponse = superResponse.OrderBy(r => r.Name).ToList();
_logger.LogInfo("MasterMenu count for TenantId {TenantId}: {Count}", tenantId, superResponse.Count);
return Ok(ApiResponse<object>.SuccessResponse(superResponse, "Successfully fetched the master table list", 200));

View File

@ -0,0 +1,48 @@
using Marco.Pms.Model.Dtos.Inventory;
using Marco.Pms.Services.Service.ServiceInterfaces;
using MarcoBMS.Services.Helpers;
using MarcoBMS.Services.Service;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Marco.Pms.Services.Controllers
{
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class InventoryController : ControllerBase
{
private readonly IInventoryService _inventoryService;
private readonly UserHelper _userHelper;
private readonly ILoggingService _logger;
private readonly Guid tenantId;
public InventoryController(IInventoryService inventoryService, UserHelper userHelper, ILoggingService logger)
{
_inventoryService = inventoryService;
_userHelper = userHelper;
_logger = logger;
tenantId = userHelper.GetTenantId();
}
#region =================================================================== Items APIs ===================================================================
[HttpGet("item/list")]
[HttpGet("item/details/{id}")]
[HttpPost("item/create")]
public async Task<IActionResult> CreateItem([FromBody] ItemDto model)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _inventoryService.CreateItemAsync(model, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpPut("item/edit/{id}")]
[HttpDelete("item/delete/{id}")]
public async Task<IActionResult> SuspendItem(Guid id, [FromQuery] bool isActive = false)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _inventoryService.SuspendItemAsync(id, isActive, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
#endregion
}
}

View File

@ -2,6 +2,7 @@
using Marco.Pms.Model.Dtos.Activities;
using Marco.Pms.Model.Dtos.Collection;
using Marco.Pms.Model.Dtos.DocumentManager;
using Marco.Pms.Model.Dtos.Inventory;
using Marco.Pms.Model.Dtos.Master;
using Marco.Pms.Model.Forum;
using Marco.Pms.Model.Mapper;
@ -37,6 +38,66 @@ namespace Marco.Pms.Services.Controllers
tenantId = userHelper.GetTenantId();
}
#region =================================================================== Country APIs ===================================================================
[HttpGet("countries/list")]
public async Task<IActionResult> GetCountries([FromQuery] string? searchString)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.GetCountriesAsync(searchString, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
#endregion
#region =================================================================== States APIs ===================================================================
[HttpGet("states/list")]
public async Task<IActionResult> GetStates([FromQuery] string? searchString)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.GetStatesAsync(searchString, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
#endregion
#region =================================================================== Unit Type APIs ===================================================================
[HttpGet("unit-type/list")]
public async Task<IActionResult> GetUnitTypes()
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.GetUnitTypesAsync(loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
#endregion
#region =================================================================== Technical Unit APIs ===================================================================
[HttpGet("technical-unit/list")]
public async Task<IActionResult> GetTechnicalUnit([FromQuery] Guid? unitTypeId)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.GetTechnicalUnitAsync(unitTypeId, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
#endregion
#region =================================================================== Company Type APIs ===================================================================
[HttpGet("company-type/list")]
public async Task<IActionResult> GetCompanyTypes()
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.GetCompanyTypesAsync(loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
#endregion
#region =================================================================== Organization Type APIs ===================================================================
[HttpGet("organization-type/list")]
@ -977,6 +1038,154 @@ namespace Marco.Pms.Services.Controllers
#endregion
#region =================================================================== Requisition Status APIs ===================================================================
[HttpGet("requisition-status/list")]
public async Task<IActionResult> GetRequisitionStatusList([FromQuery] bool isActive = true)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.GetRequisitionStatusListAsync(isActive, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpGet("requisition-status/details/{id}")]
public async Task<IActionResult> GetRequisitionStatusDetails(Guid id)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.GetRequisitionStatusDetailsAsync(id, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpPost("requisition-status/create")]
public async Task<IActionResult> CreateRequisitionStatus([FromBody] RequisitionStatusDto model)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.CreateRequisitionStatusAsync(model, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpPost("requisition-status/mapping")]
public async Task<IActionResult> AddRequisitionStatusLink([FromBody] RequisitionStatusMappingDto model)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.AddRequisitionStatusLinkAsync(model, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpPut("requisition-status/edit/{id}")]
public async Task<IActionResult> UpdateRequisitionStatus(Guid id, [FromBody] RequisitionStatusDto model)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.UpdateRequisitionStatusAsync(id, model, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpDelete("requisition-status/delete/{id}")]
public async Task<IActionResult> DeleteRequisitionStatus(Guid id, [FromQuery] bool isActive = false)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.DeleteRequisitionStatusAsync(id, isActive, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
#endregion
#region =================================================================== Purchase Order Status APIs ===================================================================
[HttpGet("purchase-order-status/list")]
public async Task<IActionResult> GetPurchaseOrderStatusList([FromQuery] bool isActive = true)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.GetPurchaseOrderStatusListAsync(isActive, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpGet("purchase-order-status/details/{id}")]
public async Task<IActionResult> GetPurchaseOrderStatusDetails(Guid id)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.GetPurchaseOrderStatusDetailsAsync(id, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpPost("purchase-order-status/create")]
public async Task<IActionResult> CreatePurchaseOrderStatus([FromBody] PurchaseOrderStatusDto model)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.CreatePurchaseOrderStatusAsync(model, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpPost("purchase-order-status/mapping")]
public async Task<IActionResult> AddPurchaseOrderStatusLink([FromBody] PurchaseStatusMappingDto model)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.AddPurchaseOrderStatusLinkAsync(model, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpPut("purchase-order-status/edit/{id}")]
public async Task<IActionResult> UpdatePurchaseOrderStatus(Guid id, [FromBody] PurchaseOrderStatusDto model)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.UpdatePurchaseOrderStatusAsync(id, model, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpDelete("purchase-order-status/delete/{id}")]
public async Task<IActionResult> DeletePurchaseOrderStatus(Guid id, [FromQuery] bool isActive = false)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.DeletePurchaseOrderStatusAsync(id, isActive, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
#endregion
#region =================================================================== Product Category APIs ===================================================================
[HttpGet("product-category/list")]
public async Task<IActionResult> GetProductCategoryMasterList([FromQuery] bool isActive = true)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.GetProductCategoryMasterListAsync(isActive, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpGet("product-category/details/{id}")]
public async Task<IActionResult> GetProductCategoryMasterDetails(Guid id)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.GetProductCategoryMasterDetailsAsync(id, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpPost("product-category/create")]
public async Task<IActionResult> CreateProductCategoryMaster([FromBody] ProductCategoryDto model)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.CreateProductCategoryMasterAsync(model, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpPut("product-category/edit/{id}")]
public async Task<IActionResult> UpdateProductCategoryMaster(Guid id, [FromBody] ProductCategoryDto model)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.UpdateProductCategoryMasterAsync(id, model, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
[HttpDelete("product-category/delete/{id}")]
public async Task<IActionResult> DeleteProductCategoryMaster(Guid id, [FromQuery] bool isActive = false)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.DeleteProductCategoryMasterAsync(id, isActive, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response);
}
#endregion
#region =================================================================== Payment Adjustment Head APIs ===================================================================
[HttpGet("payment-adjustment-head/list")]
public async Task<IActionResult> GetpaymentAdjustmentHeadsList([FromQuery] bool isActive = true)

View File

@ -10,6 +10,7 @@ using Marco.Pms.Model.Dtos.Directory;
using Marco.Pms.Model.Dtos.DocumentManager;
using Marco.Pms.Model.Dtos.Employees;
using Marco.Pms.Model.Dtos.Expenses;
using Marco.Pms.Model.Dtos.Inventory;
using Marco.Pms.Model.Dtos.Master;
using Marco.Pms.Model.Dtos.Organization;
using Marco.Pms.Model.Dtos.Project;
@ -17,6 +18,7 @@ using Marco.Pms.Model.Dtos.Tenant;
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Entitlements;
using Marco.Pms.Model.Expenses;
using Marco.Pms.Model.Inventory;
using Marco.Pms.Model.Master;
using Marco.Pms.Model.MongoDBModels;
using Marco.Pms.Model.MongoDBModels.Employees;
@ -34,6 +36,7 @@ using Marco.Pms.Model.ViewModels.DocumentManager;
using Marco.Pms.Model.ViewModels.Employee;
using Marco.Pms.Model.ViewModels.Expanses;
using Marco.Pms.Model.ViewModels.Expenses;
using Marco.Pms.Model.ViewModels.Inventory;
using Marco.Pms.Model.ViewModels.Master;
using Marco.Pms.Model.ViewModels.Organization;
using Marco.Pms.Model.ViewModels.Projects;
@ -412,10 +415,25 @@ namespace Marco.Pms.Services.MappingProfiles
CreateMap<PaymentAdjustmentHead, PaymentAdjustmentHeadVM>();
#endregion
#region ======================================================= Expenses Status Master =======================================================
#region ======================================================= Requisition Status Master =======================================================
CreateMap<RequisitionStatusDto, RequisitionStatus>();
CreateMap<RequisitionStatus, RequisitionStatusVM>();
CreateMap<RequisitionStatusMapping, RequisitionStatusMappingVM>();
#endregion
#region ======================================================= Expenses Status Master =======================================================
#region ======================================================= Purchase Order Status Master =======================================================
CreateMap<PurchaseOrderStatusDto, PurchaseOrderStatus>();
CreateMap<PurchaseOrderStatus, PurchaseOrderStatusVM>();
#endregion
#region ======================================================= Product Category Master =======================================================
CreateMap<ProductCategoryDto, ProductCategoryMaster>();
CreateMap<ProductCategoryMaster, ProductCategoryVM>();
#endregion
#region ======================================================= Product =======================================================
CreateMap<PurchaseOrderStatusDto, Product>();
CreateMap<Product, ProductVM>();
#endregion
#region ======================================================= Expenses Status Master =======================================================

View File

@ -8,6 +8,7 @@
<GenerateDocumentationFile>False</GenerateDocumentationFile>
<UserSecretsId>55935cea-fc40-40f8-be42-da094f06b11f</UserSecretsId>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>

View File

@ -1,6 +1,6 @@
using Marco.Pms.CacheHelper;
using FirebaseAdmin;
using Google.Apis.Auth.OAuth2;
using Marco.Pms.CacheHelper;
using Marco.Pms.DataAccess.Data;
using Marco.Pms.Helpers;
using Marco.Pms.Helpers.CacheHelper;
@ -182,6 +182,7 @@ builder.Services.AddScoped<IExpensesService, ExpensesService>();
builder.Services.AddScoped<IMasterService, MasterService>();
builder.Services.AddScoped<IDirectoryService, DirectoryService>();
builder.Services.AddScoped<IFirebaseService, FirebaseService>();
builder.Services.AddScoped<IInventoryService, InventoryService>();
#endregion
#region Helpers

View File

@ -0,0 +1,30 @@
using Marco.Pms.DataAccess.Data;
using Marco.Pms.Model.Dtos.Inventory;
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Utilities;
using Marco.Pms.Services.Service.ServiceInterfaces;
using Microsoft.EntityFrameworkCore;
namespace Marco.Pms.Services.Service
{
public class InventoryService : IInventoryService
{
private readonly ApplicationDbContext _context;
public InventoryService(ApplicationDbContext context)
{
_context = context;
}
#region =================================================================== Items APIs ===================================================================
public async Task<ApiResponse<object>> CreateItemAsync(ItemDto model, Employee loggedInEmployee, Guid tenantId)
{
var item = await _context.ProductDetails.FirstOrDefaultAsync();
return ApiResponse<object>.SuccessResponse(new { }, "", 200);
}
public async Task<ApiResponse<object>> SuspendItemAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId)
{
var item = await _context.ProductDetails.FirstOrDefaultAsync();
return ApiResponse<object>.SuccessResponse(new { }, "", 200);
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,14 @@
using Marco.Pms.Model.Dtos.Inventory;
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Utilities;
namespace Marco.Pms.Services.Service.ServiceInterfaces
{
public interface IInventoryService
{
#region =================================================================== Items APIs ===================================================================
Task<ApiResponse<object>> CreateItemAsync(ItemDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> SuspendItemAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId);
#endregion
}
}

View File

@ -1,6 +1,7 @@
using Marco.Pms.Model.Dtos.Activities;
using Marco.Pms.Model.Dtos.Collection;
using Marco.Pms.Model.Dtos.DocumentManager;
using Marco.Pms.Model.Dtos.Inventory;
using Marco.Pms.Model.Dtos.Master;
using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Utilities;
@ -9,8 +10,35 @@ namespace Marco.Pms.Services.Service.ServiceInterfaces
{
public interface IMasterService
{
#region =================================================================== Organization Type APIs ===================================================================
#region =================================================================== Country APIs ===================================================================
Task<ApiResponse<object>> GetCountriesAsync(string? searchString, Employee loggedInEmployee, Guid tenantId);
#endregion
#region =================================================================== States APIs ===================================================================
Task<ApiResponse<object>> GetStatesAsync(string? searchString, Employee loggedInEmployee, Guid tenantId);
#endregion
#region =================================================================== Unit Type APIs ===================================================================
Task<ApiResponse<object>> GetUnitTypesAsync(Employee loggedInEmployee, Guid tenantId);
#endregion
#region =================================================================== Technical Unit APIs ===================================================================
Task<ApiResponse<object>> GetTechnicalUnitAsync(Guid? unitTypeId, Employee loggedInEmployee, Guid tenantId);
#endregion
#region =================================================================== Company Type APIs ===================================================================
Task<ApiResponse<object>> GetCompanyTypesAsync(Employee loggedInEmployee, Guid tenantId);
#endregion
#region =================================================================== Organization Type APIs ===================================================================
Task<ApiResponse<object>> GetOrganizationTypesAsync(Employee loggedInEmployee, Guid tenantId);
#endregion
@ -107,6 +135,32 @@ namespace Marco.Pms.Services.Service.ServiceInterfaces
Task<ApiResponse<object>> DeleteDocumentTypeMasterAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId);
#endregion
#region =================================================================== Requisition Status APIs ===================================================================
Task<ApiResponse<object>> GetRequisitionStatusListAsync(bool isActive, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> GetRequisitionStatusDetailsAsync(Guid id, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> CreateRequisitionStatusAsync(RequisitionStatusDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> AddRequisitionStatusLinkAsync(RequisitionStatusMappingDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> UpdateRequisitionStatusAsync(Guid id, RequisitionStatusDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> DeleteRequisitionStatusAsync(Guid id, bool active, Employee loggedInEmployee, Guid tenantId);
#endregion
#region =================================================================== Purchase Order Status APIs ===================================================================
Task<ApiResponse<object>> GetPurchaseOrderStatusListAsync(bool isActive, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> GetPurchaseOrderStatusDetailsAsync(Guid id, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> CreatePurchaseOrderStatusAsync(PurchaseOrderStatusDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> AddPurchaseOrderStatusLinkAsync(PurchaseStatusMappingDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> UpdatePurchaseOrderStatusAsync(Guid id, PurchaseOrderStatusDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> DeletePurchaseOrderStatusAsync(Guid id, bool active, Employee loggedInEmployee, Guid tenantId);
#endregion
#region =================================================================== Product Category APIs ===================================================================
Task<ApiResponse<object>> GetProductCategoryMasterListAsync(bool isActive, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> GetProductCategoryMasterDetailsAsync(Guid id, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> CreateProductCategoryMasterAsync(ProductCategoryDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> UpdateProductCategoryMasterAsync(Guid id, ProductCategoryDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> DeleteProductCategoryMasterAsync(Guid id, bool active, Employee loggedInEmployee, Guid tenantId);
#endregion
#region =================================================================== Payment Adjustment Head APIs ===================================================================
Task<ApiResponse<object>> GetPaymentAdjustmentHeadListAsync(bool isActive, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> CreatePaymentAdjustmentHeadAsync(PaymentAdjustmentHeadDto model, Employee loggedInEmployee, Guid tenantId);

View File

@ -9,7 +9,7 @@
"Title": "Dev"
},
"ConnectionStrings": {
"DefaultConnectionString": "Server=147.93.98.152;User ID=devuser;Password=AppUser@123$;Database=MarcoBMS1"
"DefaultConnectionString": "Server=147.93.98.152;User ID=devuser;Password=AppUser@123$;Database=MarcoBMSInventory"
},
"SmtpSettings": {
"SmtpServer": "smtp.gmail.com",

View File

@ -4,6 +4,7 @@
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>