3 Commits 12f64b441e ... e1b7c33cde

Author SHA1 Message Date
  zinab_elgendy e1b7c33cde AppException: handle language and fix 500 by reorder the register in program.cs 1 month ago
  zinab_elgendy 3349d3e7ee AppException: handle language and fix 500 by reorder the register in program.cs 1 month ago
  zinab_elgendy eb6fd69e62 https://www.mtwork.com 1 month ago
32 changed files with 12758 additions and 299 deletions
  1. 6 1
      MTWorkHR.API/Controllers/CompanyController.cs
  2. 7 0
      MTWorkHR.API/Controllers/ContractController.cs
  3. 10 0
      MTWorkHR.API/Controllers/UserController.cs
  4. 1 1
      MTWorkHR.API/MTWorkHR.API.csproj
  5. 14 16
      MTWorkHR.API/Program.cs
  6. 292 0
      MTWorkHR.API/Reports/ContractAllowances.Designer.cs
  7. 2 2
      MTWorkHR.API/Reports/EmployeeContract.cs
  8. 1 1
      MTWorkHR.API/Reports/EmployeeContract.resx
  9. 601 73
      MTWorkHR.API/Reports/ContractReport.Designer.cs
  10. 1 1
      MTWorkHR.API/Reports/ContractReport.resx
  11. 0 130
      MTWorkHR.API/Reports/EmployeeContract.Designer.cs
  12. 2 2
      MTWorkHR.API/Reports/ReportStorageWebExtension.cs
  13. 2 2
      MTWorkHR.Application/Dtos/Contract/ContractAllowanceDto.cs
  14. 4 3
      MTWorkHR.Application/Dtos/Contract/ContractDto.cs
  15. 15 0
      MTWorkHR.Application/Dtos/Contract/ContractStatusDto.cs
  16. 6 6
      MTWorkHR.Application/Middlewares/LoggingMiddleware.cs
  17. 17 1
      MTWorkHR.Application/Services/Contract/ContractService.cs
  18. 2 1
      MTWorkHR.Application/Services/Interfaces/ICompanyService.cs
  19. 1 0
      MTWorkHR.Application/Services/Interfaces/IContractService.cs
  20. 2 1
      MTWorkHR.Application/Services/Interfaces/IUserService.cs
  21. 33 1
      MTWorkHR.Application/Services/User/UserService.cs
  22. 8 7
      MTWorkHR.Core/Entities/Contract/Contract.cs
  23. 2 2
      MTWorkHR.Core/Entities/Contract/ContractAllowance.cs
  24. 60 13
      MTWorkHR.Core/Global/AppException.cs
  25. 136 28
      MTWorkHR.Core/Global/AppExceptions.cs
  26. 17 0
      MTWorkHR.Core/Global/Enum/ContractDurationEnum.cs
  27. 1 1
      MTWorkHR.Core/Global/GlobalInfo.cs
  28. 5698 0
      MTWorkHR.Infrastructure/Migrations/20241110132939_altrUserRoles.Designer.cs
  29. 26 0
      MTWorkHR.Infrastructure/Migrations/20241110132939_altrUserRoles.cs
  30. 5701 0
      MTWorkHR.Infrastructure/Migrations/20241112095808_altrContractDura.Designer.cs
  31. 81 0
      MTWorkHR.Infrastructure/Migrations/20241112095808_altrContractDura.cs
  32. 9 6
      MTWorkHR.Infrastructure/Migrations/HRDataContextModelSnapshot.cs

+ 6 - 1
MTWorkHR.API/Controllers/CompanyController.cs

@@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Mvc;
 using MTWorkHR.Application.Filters;
 using MTWorkHR.Application.Identity;
 using MTWorkHR.Application.Models;
+using MTWorkHR.Application.Services;
 using MTWorkHR.Application.Services.Interfaces;
 
 namespace MTWorkHR.API.Controllers
@@ -30,7 +31,11 @@ namespace MTWorkHR.API.Controllers
         {
             return Ok(await _companyService.GetById());
         }
-
+        [HttpGet("GetById")]
+        public async Task<ActionResult<CompanyDto>> GetById(long companyId)
+        {
+            return Ok(await _companyService.GetById(companyId));
+        }
 
         [HttpPost("Create")]
         [ProducesResponseType(StatusCodes.Status200OK)]

+ 7 - 0
MTWorkHR.API/Controllers/ContractController.cs

@@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
 using MTWorkHR.Application.Filters;
 using MTWorkHR.Application.Models;
+using MTWorkHR.Application.Services;
 using MTWorkHR.Application.Services.Interfaces;
 
 namespace MTWorkHR.API.Controllers
@@ -59,7 +60,13 @@ namespace MTWorkHR.API.Controllers
             await _ContractService.Delete(id);
         }
 
+        [HttpPost("ChangeStatus")]
+        [ProducesResponseType(StatusCodes.Status200OK)]
 
+        public async Task<bool> ChangeStatus([FromBody] ContractStatusDto input)
+        {
+            return await _ContractService.ChangeStatus(input.ContractId, input.StatusId);
+        }
 
     }
 }

+ 10 - 0
MTWorkHR.API/Controllers/UserController.cs

@@ -36,7 +36,17 @@ namespace MTWorkHR.API.Controllers
         {
             return Ok(await _userService.GetById());
         }
+        [HttpGet("GetById")]
+        public async Task<ActionResult<UserDto>> GetById(string userId)
+        {
+            return Ok(await _userService.GetById(userId));
+        }
 
+        [HttpGet("GetByEmail")]
+        public async Task<ActionResult<UserDto>> GetByEmail(string userId)
+        {
+            return Ok(await _userService.GetByEmail(userId));
+        }
 
         [HttpPost("Create")]
         [ProducesResponseType(StatusCodes.Status200OK)]

+ 1 - 1
MTWorkHR.API/MTWorkHR.API.csproj

@@ -33,7 +33,7 @@
     <Compile Update="Reports\ContractReport.cs">
       <SubType>XtraReport</SubType>
     </Compile>
-    <Compile Update="Reports\EmployeeContract.cs">
+    <Compile Update="Reports\ContractAllowances.cs">
       <SubType>XtraReport</SubType>
     </Compile>
   </ItemGroup>

+ 14 - 16
MTWorkHR.API/Program.cs

@@ -80,7 +80,7 @@ builder.Services.AddControllers(options =>
 {
     //add filter by instance
     options.Filters.Add(new InputValidationActionFilter());
-    //add filter By the type 
+    //add filter By the type
     options.Filters.Add(typeof(InputValidationActionFilter));
 });
 //disable default model validation, because we handle this in InputValidationActionFilter and LoggingMiddleware.
@@ -110,7 +110,9 @@ builder.Services.AddSignalR(options =>
 {
     options.EnableDetailedErrors = true;
 });
-
+builder.Services.AddCors(options => {
+    options.AddPolicy("CORSPolicy", builder => builder.AllowAnyMethod().AllowAnyHeader().AllowCredentials().SetIsOriginAllowed((hosts) => true));
+});
 builder.Services.AddSwaggerGen(swagger =>
 {
     //This is to apply global headers for all requests
@@ -119,7 +121,7 @@ builder.Services.AddSwaggerGen(swagger =>
     //This is to export enums to front
     swagger.SchemaFilter<EnumSchemaFilter>();
 
-    //This is to generate the Default UI of Swagger Documentation  
+    //This is to generate the Default UI of Swagger Documentation
     swagger.SwaggerDoc("v1", new OpenApiInfo
     {
         Version = "v1",
@@ -131,7 +133,7 @@ builder.Services.AddSwaggerGen(swagger =>
             d => (d.ActionDescriptor as ControllerActionDescriptor)?.ControllerName + (d.ActionDescriptor as ControllerActionDescriptor)?.ActionName
         );
 
-    // To Enable authorization using Swagger (JWT)  
+    // To Enable authorization using Swagger (JWT)
     swagger.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme()
     {
         Name = "Authorization",
@@ -172,18 +174,15 @@ app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "MTWorkHR.AP
 
 
 app.UseRouting();  // <-- Add UseRouting() here
+app.UseMiddleware<LoggingMiddleware>();
 
-app.UseCors(x => x
-    .WithOrigins("https://api.mtwork.com", "https://mtworkhrclient.azurewebsites.net", "http://localhost:4200/") // Allowed origin
-    .AllowAnyMethod()
-    .AllowAnyHeader()
-    .SetIsOriginAllowed(origin =>
-    true) // allow any origin
-    .AllowCredentials()); // allow credentials
-
-
-
-
+//app.UseCors(x => x
+//    .WithOrigins("https://api.mtwork.com", "https://mtworkhrclient.azurewebsites.net", "http://localhost:4200", "https://www.mtwork.com") // Allowed origins without trailing slash
+//    .AllowAnyMethod()
+//    .AllowAnyHeader()
+//    .AllowCredentials() // Allows credentials
+//);
+app.UseCors("CORSPolicy");
 
 
 
@@ -194,7 +193,6 @@ app.UseEndpoints(endpoints =>
 {
     endpoints.MapHub<ChatHub>("/chatHub"); // Map your SignalR hub
 });
-app.UseMiddleware<LoggingMiddleware>();
 app.MapControllers();
 //app.MapHub<ChatHub>("/chatHub");
 

+ 292 - 0
MTWorkHR.API/Reports/ContractAllowances.Designer.cs

@@ -0,0 +1,292 @@
+namespace MTWorkHR.Infrastructure.Reports
+{
+    partial class ContractAllowances
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            DevExpress.DataAccess.Sql.SelectQuery selectQuery1 = new DevExpress.DataAccess.Sql.SelectQuery();
+            DevExpress.DataAccess.Sql.Column column1 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression1 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Table table1 = new DevExpress.DataAccess.Sql.Table();
+            DevExpress.DataAccess.Sql.Column column2 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression2 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column3 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression3 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column4 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression4 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column5 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression5 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column6 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression6 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.QueryParameter queryParameter1 = new DevExpress.DataAccess.Sql.QueryParameter();
+            DevExpress.DataAccess.Sql.QueryParameter queryParameter2 = new DevExpress.DataAccess.Sql.QueryParameter();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ContractAllowances));
+            this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
+            this.xrLine1 = new DevExpress.XtraReports.UI.XRLine();
+            this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
+            this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
+            this.Detail = new DevExpress.XtraReports.UI.DetailBand();
+            this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
+            this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
+            this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.sqlDataSource1 = new DevExpress.DataAccess.Sql.SqlDataSource(this.components);
+            this.ContractId = new DevExpress.XtraReports.Parameters.Parameter();
+            ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
+            // 
+            // TopMargin
+            // 
+            this.TopMargin.Borders = DevExpress.XtraPrinting.BorderSide.None;
+            this.TopMargin.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
+            this.xrLine1,
+            this.xrLabel4,
+            this.xrLabel3,
+            this.xrLabel2,
+            this.xrLabel1});
+            this.TopMargin.Name = "TopMargin";
+            this.TopMargin.StylePriority.UseBorders = false;
+            // 
+            // xrLine1
+            // 
+            this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(2.098083E-05F, 98F);
+            this.xrLine1.Name = "xrLine1";
+            this.xrLine1.SizeF = new System.Drawing.SizeF(641F, 2F);
+            // 
+            // xrLabel4
+            // 
+            this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
+            this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(545.8333F, 75F);
+            this.xrLabel4.Multiline = true;
+            this.xrLabel4.Name = "xrLabel4";
+            this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel4.SizeF = new System.Drawing.SizeF(104.1667F, 23F);
+            this.xrLabel4.StylePriority.UseFont = false;
+            this.xrLabel4.Text = "Payment Type";
+            // 
+            // xrLabel3
+            // 
+            this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
+            this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(377.5F, 75F);
+            this.xrLabel3.Multiline = true;
+            this.xrLabel3.Name = "xrLabel3";
+            this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel3.SizeF = new System.Drawing.SizeF(158.3333F, 23F);
+            this.xrLabel3.StylePriority.UseFont = false;
+            this.xrLabel3.Text = "Entitlement Amount";
+            // 
+            // xrLabel2
+            // 
+            this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
+            this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(271.6667F, 75F);
+            this.xrLabel2.Multiline = true;
+            this.xrLabel2.Name = "xrLabel2";
+            this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel2.SizeF = new System.Drawing.SizeF(100F, 23F);
+            this.xrLabel2.StylePriority.UseFont = false;
+            this.xrLabel2.Text = "Entitlement %";
+            // 
+            // xrLabel1
+            // 
+            this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold);
+            this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 75F);
+            this.xrLabel1.Multiline = true;
+            this.xrLabel1.Name = "xrLabel1";
+            this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel1.SizeF = new System.Drawing.SizeF(100F, 23F);
+            this.xrLabel1.StylePriority.UseFont = false;
+            this.xrLabel1.Text = "Allowance";
+            // 
+            // BottomMargin
+            // 
+            this.BottomMargin.HeightF = 6.666667F;
+            this.BottomMargin.Name = "BottomMargin";
+            // 
+            // Detail
+            // 
+            this.Detail.Borders = DevExpress.XtraPrinting.BorderSide.None;
+            this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
+            this.xrTable1});
+            this.Detail.HeightF = 33.33333F;
+            this.Detail.Name = "Detail";
+            this.Detail.StylePriority.UseBorders = false;
+            // 
+            // xrTable1
+            // 
+            this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(2.098083E-05F, 0F);
+            this.xrTable1.Name = "xrTable1";
+            this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
+            this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
+            this.xrTableRow1});
+            this.xrTable1.SizeF = new System.Drawing.SizeF(650F, 25F);
+            // 
+            // xrTableRow1
+            // 
+            this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
+            this.xrTableCell1,
+            this.xrTableCell2,
+            this.xrTableCell3,
+            this.xrTableCell4});
+            this.xrTableRow1.Name = "xrTableRow1";
+            this.xrTableRow1.Weight = 1D;
+            // 
+            // xrTableCell1
+            // 
+            this.xrTableCell1.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[AllowanceDesc]")});
+            this.xrTableCell1.Multiline = true;
+            this.xrTableCell1.Name = "xrTableCell1";
+            this.xrTableCell1.Text = "xrTableCell1";
+            this.xrTableCell1.Weight = 2.716666392960696D;
+            // 
+            // xrTableCell2
+            // 
+            this.xrTableCell2.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[EntitlementPercent]")});
+            this.xrTableCell2.Multiline = true;
+            this.xrTableCell2.Name = "xrTableCell2";
+            this.xrTableCell2.Text = "xrTableCell2";
+            this.xrTableCell2.Weight = 1.0583330503373904D;
+            // 
+            // xrTableCell3
+            // 
+            this.xrTableCell3.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[EntitlementAmount]")});
+            this.xrTableCell3.Multiline = true;
+            this.xrTableCell3.Name = "xrTableCell3";
+            this.xrTableCell3.Text = "xrTableCell3";
+            this.xrTableCell3.Weight = 1.6833330154999731D;
+            // 
+            // xrTableCell4
+            // 
+            this.xrTableCell4.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[PaymentType]")});
+            this.xrTableCell4.Multiline = true;
+            this.xrTableCell4.Name = "xrTableCell4";
+            this.xrTableCell4.Text = "xrTableCell4";
+            this.xrTableCell4.Weight = 1.0416671788927943D;
+            // 
+            // sqlDataSource1
+            // 
+            this.sqlDataSource1.ConnectionName = "LocalConnectionString";
+            this.sqlDataSource1.Name = "sqlDataSource1";
+            columnExpression1.ColumnName = "ContractId";
+            table1.MetaSerializable = "<Meta X=\"30\" Y=\"30\" Width=\"125\" Height=\"285\" />";
+            table1.Name = "ContractAllowance";
+            columnExpression1.Table = table1;
+            column1.Expression = columnExpression1;
+            columnExpression2.ColumnName = "AllowanceType";
+            columnExpression2.Table = table1;
+            column2.Expression = columnExpression2;
+            columnExpression3.ColumnName = "AllowanceDesc";
+            columnExpression3.Table = table1;
+            column3.Expression = columnExpression3;
+            columnExpression4.ColumnName = "EntitlementPercent";
+            columnExpression4.Table = table1;
+            column4.Expression = columnExpression4;
+            columnExpression5.ColumnName = "EntitlementAmount";
+            columnExpression5.Table = table1;
+            column5.Expression = columnExpression5;
+            columnExpression6.ColumnName = "PaymentType";
+            columnExpression6.Table = table1;
+            column6.Expression = columnExpression6;
+            selectQuery1.Columns.Add(column1);
+            selectQuery1.Columns.Add(column2);
+            selectQuery1.Columns.Add(column3);
+            selectQuery1.Columns.Add(column4);
+            selectQuery1.Columns.Add(column5);
+            selectQuery1.Columns.Add(column6);
+            selectQuery1.FilterString = "[ContractAllowance.ContractId] = ?ContractId";
+            selectQuery1.GroupFilterString = "";
+            selectQuery1.Name = "Query";
+            queryParameter1.Name = "ContractId";
+            queryParameter1.Type = typeof(global::DevExpress.DataAccess.Expression);
+            queryParameter1.Value = new DevExpress.DataAccess.Expression("?ContractId", typeof(long));
+            queryParameter2.Name = "Parameter1";
+            queryParameter2.Type = typeof(global::DevExpress.DataAccess.Expression);
+            queryParameter2.Value = new DevExpress.DataAccess.Expression("?ContractId", typeof(int));
+            selectQuery1.Parameters.AddRange(new DevExpress.DataAccess.Sql.QueryParameter[] {
+            queryParameter1,
+            queryParameter2});
+            selectQuery1.Tables.Add(table1);
+            this.sqlDataSource1.Queries.AddRange(new DevExpress.DataAccess.Sql.SqlQuery[] {
+            selectQuery1});
+            this.sqlDataSource1.ResultSchemaSerializable = resources.GetString("sqlDataSource1.ResultSchemaSerializable");
+            // 
+            // ContractId
+            // 
+            this.ContractId.Description = "ContractId";
+            this.ContractId.Name = "ContractId";
+            this.ContractId.Type = typeof(int);
+            this.ContractId.ValueInfo = "0";
+            // 
+            // ContractAllowances
+            // 
+            this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
+            this.TopMargin,
+            this.BottomMargin,
+            this.Detail});
+            this.ComponentStorage.AddRange(new System.ComponentModel.IComponent[] {
+            this.sqlDataSource1});
+            this.DataMember = "Query";
+            this.DataSource = this.sqlDataSource1;
+            this.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F);
+            this.Margins = new DevExpress.Drawing.DXMargins(100F, 100F, 100F, 6.666667F);
+            this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
+            this.ContractId});
+            this.Version = "24.1";
+            ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this)).EndInit();
+
+        }
+
+        #endregion
+
+        private DevExpress.XtraReports.UI.TopMarginBand TopMargin;
+        private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin;
+        private DevExpress.XtraReports.UI.DetailBand Detail;
+        private DevExpress.DataAccess.Sql.SqlDataSource sqlDataSource1;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel1;
+        private DevExpress.XtraReports.UI.XRTable xrTable1;
+        private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel4;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel3;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel2;
+        private DevExpress.XtraReports.Parameters.Parameter ContractId;
+        private DevExpress.XtraReports.UI.XRLine xrLine1;
+    }
+}

+ 2 - 2
MTWorkHR.API/Reports/EmployeeContract.cs

@@ -6,9 +6,9 @@ using System.Drawing;
 
 namespace MTWorkHR.Infrastructure.Reports
 {
-    public partial class EmployeeContract : DevExpress.XtraReports.UI.XtraReport
+    public partial class ContractAllowances : DevExpress.XtraReports.UI.XtraReport
     {
-        public EmployeeContract()
+        public ContractAllowances()
         {
             InitializeComponent();
         }

File diff suppressed because it is too large
+ 1 - 1
MTWorkHR.API/Reports/EmployeeContract.resx


+ 601 - 73
MTWorkHR.API/Reports/ContractReport.Designer.cs

@@ -113,6 +113,36 @@
             DevExpress.DataAccess.Sql.ColumnExpression columnExpression37 = new DevExpress.DataAccess.Sql.ColumnExpression();
             DevExpress.DataAccess.Sql.Column column38 = new DevExpress.DataAccess.Sql.Column();
             DevExpress.DataAccess.Sql.ColumnExpression columnExpression38 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column39 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression39 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column40 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression40 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column41 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression41 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column42 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression42 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Table table8 = new DevExpress.DataAccess.Sql.Table();
+            DevExpress.DataAccess.Sql.Column column43 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression43 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column44 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression44 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column45 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression45 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column46 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression46 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column47 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression47 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column48 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression48 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column49 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression49 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column50 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression50 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Column column51 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression51 = new DevExpress.DataAccess.Sql.ColumnExpression();
+            DevExpress.DataAccess.Sql.Table table9 = new DevExpress.DataAccess.Sql.Table();
+            DevExpress.DataAccess.Sql.Column column52 = new DevExpress.DataAccess.Sql.Column();
+            DevExpress.DataAccess.Sql.ColumnExpression columnExpression52 = new DevExpress.DataAccess.Sql.ColumnExpression();
             DevExpress.DataAccess.Sql.QueryParameter queryParameter1 = new DevExpress.DataAccess.Sql.QueryParameter();
             DevExpress.DataAccess.Sql.Join join1 = new DevExpress.DataAccess.Sql.Join();
             DevExpress.DataAccess.Sql.RelationColumnInfo relationColumnInfo1 = new DevExpress.DataAccess.Sql.RelationColumnInfo();
@@ -127,12 +157,46 @@
             DevExpress.DataAccess.Sql.RelationColumnInfo relationColumnInfo6 = new DevExpress.DataAccess.Sql.RelationColumnInfo();
             DevExpress.DataAccess.Sql.Join join6 = new DevExpress.DataAccess.Sql.Join();
             DevExpress.DataAccess.Sql.RelationColumnInfo relationColumnInfo7 = new DevExpress.DataAccess.Sql.RelationColumnInfo();
+            DevExpress.DataAccess.Sql.Join join7 = new DevExpress.DataAccess.Sql.Join();
+            DevExpress.DataAccess.Sql.RelationColumnInfo relationColumnInfo8 = new DevExpress.DataAccess.Sql.RelationColumnInfo();
+            DevExpress.DataAccess.Sql.Join join8 = new DevExpress.DataAccess.Sql.Join();
+            DevExpress.DataAccess.Sql.RelationColumnInfo relationColumnInfo9 = new DevExpress.DataAccess.Sql.RelationColumnInfo();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ContractReport));
             this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
             this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
             this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
             this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
             this.Detail = new DevExpress.XtraReports.UI.DetailBand();
+            this.xrLabel79 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel78 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel77 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel76 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel75 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel74 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel73 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel72 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel71 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel70 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel69 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel68 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel67 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel66 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel62 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel63 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel64 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel65 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel61 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrSubreport1 = new DevExpress.XtraReports.UI.XRSubreport();
+            this.ContractId = new DevExpress.XtraReports.Parameters.Parameter();
+            this.xrLabel60 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel59 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel58 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel57 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel56 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel55 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel54 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel53 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel52 = new DevExpress.XtraReports.UI.XRLabel();
             this.xrLabel51 = new DevExpress.XtraReports.UI.XRLabel();
             this.xrLabel50 = new DevExpress.XtraReports.UI.XRLabel();
             this.xrLabel49 = new DevExpress.XtraReports.UI.XRLabel();
@@ -183,7 +247,6 @@
             this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
             this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
             this.sqlDataSource1 = new DevExpress.DataAccess.Sql.SqlDataSource(this.components);
-            this.ContractId = new DevExpress.XtraReports.Parameters.Parameter();
             this.xrControlStyle1 = new DevExpress.XtraReports.UI.XRControlStyle();
             ((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
             // 
@@ -225,6 +288,35 @@
             // Detail
             // 
             this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
+            this.xrLabel79,
+            this.xrLabel78,
+            this.xrLabel77,
+            this.xrLabel76,
+            this.xrLabel75,
+            this.xrLabel74,
+            this.xrLabel73,
+            this.xrLabel72,
+            this.xrLabel71,
+            this.xrLabel70,
+            this.xrLabel69,
+            this.xrLabel68,
+            this.xrLabel67,
+            this.xrLabel66,
+            this.xrLabel62,
+            this.xrLabel63,
+            this.xrLabel64,
+            this.xrLabel65,
+            this.xrLabel61,
+            this.xrSubreport1,
+            this.xrLabel60,
+            this.xrLabel59,
+            this.xrLabel58,
+            this.xrLabel57,
+            this.xrLabel56,
+            this.xrLabel55,
+            this.xrLabel54,
+            this.xrLabel53,
+            this.xrLabel52,
             this.xrLabel51,
             this.xrLabel50,
             this.xrLabel49,
@@ -276,6 +368,232 @@
             this.xrLabel1});
             this.Detail.Name = "Detail";
             // 
+            // xrLabel79
+            // 
+            this.xrLabel79.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[PassportExpiryDate]")});
+            this.xrLabel79.Multiline = true;
+            this.xrLabel79.Name = "xrLabel79";
+            this.xrLabel79.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
+            // xrLabel78
+            // 
+            this.xrLabel78.Multiline = true;
+            this.xrLabel78.Name = "xrLabel78";
+            this.xrLabel78.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel78.StylePriority.UseFont = false;
+            // 
+            // xrLabel77
+            // 
+            this.xrLabel77.Multiline = true;
+            this.xrLabel77.Name = "xrLabel77";
+            this.xrLabel77.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel77.StylePriority.UseFont = false;
+            // 
+            // xrLabel76
+            // 
+            this.xrLabel76.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[JobDescription]")});
+            this.xrLabel76.Multiline = true;
+            this.xrLabel76.Name = "xrLabel76";
+            this.xrLabel76.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
+            // xrLabel75
+            // 
+            this.xrLabel75.Multiline = true;
+            this.xrLabel75.Name = "xrLabel75";
+            this.xrLabel75.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel75.StylePriority.UseFont = false;
+            // 
+            // xrLabel74
+            // 
+            this.xrLabel74.Multiline = true;
+            this.xrLabel74.Name = "xrLabel74";
+            this.xrLabel74.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel74.StylePriority.UseFont = false;
+            // 
+            // xrLabel73
+            // 
+            this.xrLabel73.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Cities_NameEn]")});
+            this.xrLabel73.Multiline = true;
+            this.xrLabel73.Name = "xrLabel73";
+            this.xrLabel73.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
+            // xrLabel72
+            // 
+            this.xrLabel72.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[CountryLookups_NameEn]")});
+            this.xrLabel72.Multiline = true;
+            this.xrLabel72.Name = "xrLabel72";
+            this.xrLabel72.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
+            // xrLabel71
+            // 
+            this.xrLabel71.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[AspNetUsers_1_Position]")});
+            this.xrLabel71.Multiline = true;
+            this.xrLabel71.Name = "xrLabel71";
+            this.xrLabel71.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
+            // xrLabel70
+            // 
+            this.xrLabel70.Multiline = true;
+            this.xrLabel70.Name = "xrLabel70";
+            this.xrLabel70.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel70.StylePriority.UseFont = false;
+            // 
+            // xrLabel69
+            // 
+            this.xrLabel69.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[AspNetUsers_1_PhoneNumber]")});
+            this.xrLabel69.Multiline = true;
+            this.xrLabel69.Name = "xrLabel69";
+            this.xrLabel69.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
+            // xrLabel68
+            // 
+            this.xrLabel68.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "Concat([AspNetUsers_1_FirstName],\' \' ,[AspNetUsers_1_LastName])")});
+            this.xrLabel68.Multiline = true;
+            this.xrLabel68.Name = "xrLabel68";
+            this.xrLabel68.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
+            // xrLabel67
+            // 
+            this.xrLabel67.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[AspNetUsers_1_PassportNumber]")});
+            this.xrLabel67.Multiline = true;
+            this.xrLabel67.Name = "xrLabel67";
+            this.xrLabel67.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
+            // xrLabel66
+            // 
+            this.xrLabel66.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[AspNetUsers_1_Email]")});
+            this.xrLabel66.Multiline = true;
+            this.xrLabel66.Name = "xrLabel66";
+            this.xrLabel66.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
+            // xrLabel62
+            // 
+            this.xrLabel62.Multiline = true;
+            this.xrLabel62.Name = "xrLabel62";
+            this.xrLabel62.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel62.StylePriority.UseFont = false;
+            // 
+            // xrLabel63
+            // 
+            this.xrLabel63.Multiline = true;
+            this.xrLabel63.Name = "xrLabel63";
+            this.xrLabel63.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel63.StylePriority.UseFont = false;
+            // 
+            // xrLabel64
+            // 
+            this.xrLabel64.Multiline = true;
+            this.xrLabel64.Name = "xrLabel64";
+            this.xrLabel64.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel64.StylePriority.UseFont = false;
+            // 
+            // xrLabel65
+            // 
+            this.xrLabel65.Multiline = true;
+            this.xrLabel65.Name = "xrLabel65";
+            this.xrLabel65.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel65.StylePriority.UseFont = false;
+            // 
+            // xrLabel61
+            // 
+            this.xrLabel61.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
+            this.xrLabel61.Multiline = true;
+            this.xrLabel61.Name = "xrLabel61";
+            this.xrLabel61.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel61.StylePriority.UseBorders = false;
+            this.xrLabel61.StylePriority.UseFont = false;
+            // 
+            // xrSubreport1
+            // 
+            this.xrSubreport1.Name = "xrSubreport1";
+            this.xrSubreport1.ParameterBindings.Add(new DevExpress.XtraReports.UI.ParameterBinding("ContractId", this.ContractId));
+            this.xrSubreport1.ReportSource = new MTWorkHR.Infrastructure.Reports.ContractAllowances();
+            // 
+            // ContractId
+            // 
+            this.ContractId.AllowNull = true;
+            this.ContractId.Name = "ContractId";
+            this.ContractId.Type = typeof(int);
+            this.ContractId.ValueInfo = "1";
+            // 
+            // xrLabel60
+            // 
+            this.xrLabel60.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
+            this.xrLabel60.Multiline = true;
+            this.xrLabel60.Name = "xrLabel60";
+            this.xrLabel60.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel60.StylePriority.UseBorders = false;
+            this.xrLabel60.StylePriority.UseFont = false;
+            // 
+            // xrLabel59
+            // 
+            this.xrLabel59.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[JobTitleName]")});
+            this.xrLabel59.Multiline = true;
+            this.xrLabel59.Name = "xrLabel59";
+            this.xrLabel59.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
+            // xrLabel58
+            // 
+            this.xrLabel58.Multiline = true;
+            this.xrLabel58.Name = "xrLabel58";
+            this.xrLabel58.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel58.StylePriority.UseFont = false;
+            // 
+            // xrLabel57
+            // 
+            this.xrLabel57.Multiline = true;
+            this.xrLabel57.Name = "xrLabel57";
+            this.xrLabel57.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel57.StylePriority.UseFont = false;
+            // 
+            // xrLabel56
+            // 
+            this.xrLabel56.Multiline = true;
+            this.xrLabel56.Name = "xrLabel56";
+            this.xrLabel56.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel56.StylePriority.UseFont = false;
+            // 
+            // xrLabel55
+            // 
+            this.xrLabel55.Multiline = true;
+            this.xrLabel55.Name = "xrLabel55";
+            this.xrLabel55.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel55.StylePriority.UseFont = false;
+            // 
+            // xrLabel54
+            // 
+            this.xrLabel54.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Address]")});
+            this.xrLabel54.Multiline = true;
+            this.xrLabel54.Name = "xrLabel54";
+            this.xrLabel54.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
+            // xrLabel53
+            // 
+            this.xrLabel53.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Companies_PhoneNumber]")});
+            this.xrLabel53.Multiline = true;
+            this.xrLabel53.Name = "xrLabel53";
+            this.xrLabel53.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
+            // xrLabel52
+            // 
+            this.xrLabel52.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Companies_Email]")});
+            this.xrLabel52.Multiline = true;
+            this.xrLabel52.Name = "xrLabel52";
+            this.xrLabel52.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            // 
             // xrLabel51
             // 
             this.xrLabel51.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
@@ -672,7 +990,7 @@
             this.sqlDataSource1.ConnectionName = "LocalConnectionString";
             this.sqlDataSource1.Name = "sqlDataSource1";
             columnExpression1.ColumnName = "CompanyName";
-            table1.MetaSerializable = "<Meta X=\"185\" Y=\"30\" Width=\"125\" Height=\"285\" />";
+            table1.MetaSerializable = "<Meta X=\"185\" Y=\"30\" Width=\"125\" Height=\"385\" />";
             table1.Name = "Companies";
             columnExpression1.Table = table1;
             column1.Expression = columnExpression1;
@@ -683,7 +1001,7 @@
             columnExpression3.Table = table1;
             column3.Expression = columnExpression3;
             columnExpression4.ColumnName = "CreateDate";
-            table2.MetaSerializable = "<Meta X=\"30\" Y=\"30\" Width=\"125\" Height=\"785\" />";
+            table2.MetaSerializable = "<Meta X=\"30\" Y=\"30\" Width=\"125\" Height=\"845\" />";
             table2.Name = "Contracts";
             columnExpression4.Table = table2;
             column4.Expression = columnExpression4;
@@ -741,7 +1059,7 @@
             columnExpression21.Table = table2;
             column21.Expression = columnExpression21;
             columnExpression22.ColumnName = "FirstName";
-            table4.MetaSerializable = "<Meta X=\"340\" Y=\"30\" Width=\"125\" Height=\"865\" />";
+            table4.MetaSerializable = "<Meta X=\"340\" Y=\"30\" Width=\"125\" Height=\"925\" />";
             table4.Name = "AspNetUsers";
             columnExpression22.Table = table4;
             column22.Expression = columnExpression22;
@@ -775,13 +1093,13 @@
             column31.Expression = columnExpression31;
             column32.Alias = "Universities_NameEn";
             columnExpression32.ColumnName = "NameEn";
-            table5.MetaSerializable = "<Meta X=\"590\" Y=\"380\" Width=\"125\" Height=\"125\" />";
+            table5.MetaSerializable = "<Meta X=\"490\" Y=\"420\" Width=\"125\" Height=\"125\" />";
             table5.Name = "Universities";
             columnExpression32.Table = table5;
             column32.Expression = columnExpression32;
             column33.Alias = "CountryLookups_NameEn";
             columnExpression33.ColumnName = "NameEn";
-            table6.MetaSerializable = "<Meta X=\"640\" Y=\"180\" Width=\"125\" Height=\"165\" />";
+            table6.MetaSerializable = "<Meta X=\"650\" Y=\"260\" Width=\"125\" Height=\"165\" />";
             table6.Name = "CountryLookups";
             columnExpression33.Table = table6;
             column33.Expression = columnExpression33;
@@ -803,6 +1121,62 @@
             columnExpression38.ColumnName = "WhoCanTerminateContract";
             columnExpression38.Table = table2;
             column38.Expression = columnExpression38;
+            columnExpression39.ColumnName = "Address";
+            columnExpression39.Table = table1;
+            column39.Expression = columnExpression39;
+            column40.Alias = "Companies_Email";
+            columnExpression40.ColumnName = "Email";
+            columnExpression40.Table = table1;
+            column40.Expression = columnExpression40;
+            column41.Alias = "Companies_PhoneNumber";
+            columnExpression41.ColumnName = "PhoneNumber";
+            columnExpression41.Table = table1;
+            column41.Expression = columnExpression41;
+            column42.Alias = "AspNetUsers_1_FirstName";
+            columnExpression42.ColumnName = "FirstName";
+            table8.Alias = "AspNetUsers_1";
+            table8.MetaSerializable = "<Meta X=\"780\" Y=\"380\" Width=\"125\" Height=\"925\" />";
+            table8.Name = "AspNetUsers";
+            columnExpression42.Table = table8;
+            column42.Expression = columnExpression42;
+            column43.Alias = "AspNetUsers_1_LastName";
+            columnExpression43.ColumnName = "LastName";
+            columnExpression43.Table = table8;
+            column43.Expression = columnExpression43;
+            column44.Alias = "AspNetUsers_1_Email";
+            columnExpression44.ColumnName = "Email";
+            columnExpression44.Table = table8;
+            column44.Expression = columnExpression44;
+            column45.Alias = "AspNetUsers_1_PassportNumber";
+            columnExpression45.ColumnName = "PassportNumber";
+            columnExpression45.Table = table8;
+            column45.Expression = columnExpression45;
+            columnExpression46.ColumnName = "JobTitleName";
+            columnExpression46.Table = table2;
+            column46.Expression = columnExpression46;
+            columnExpression47.ColumnName = "WorkingHoursNum";
+            columnExpression47.Table = table2;
+            column47.Expression = columnExpression47;
+            column48.Alias = "AspNetUsers_1_PhoneNumber";
+            columnExpression48.ColumnName = "PhoneNumber";
+            columnExpression48.Table = table8;
+            column48.Expression = columnExpression48;
+            column49.Alias = "AspNetUsers_1_Position";
+            columnExpression49.ColumnName = "Position";
+            columnExpression49.Table = table8;
+            column49.Expression = columnExpression49;
+            columnExpression50.ColumnName = "JobDescription";
+            columnExpression50.Table = table2;
+            column50.Expression = columnExpression50;
+            column51.Alias = "Cities_NameEn";
+            columnExpression51.ColumnName = "NameEn";
+            table9.MetaSerializable = "<Meta X=\"950\" Y=\"180\" Width=\"125\" Height=\"185\" />";
+            table9.Name = "Cities";
+            columnExpression51.Table = table9;
+            column51.Expression = columnExpression51;
+            columnExpression52.ColumnName = "PassportExpiryDate";
+            columnExpression52.Table = table4;
+            column52.Expression = columnExpression52;
             selectQuery1.Columns.Add(column1);
             selectQuery1.Columns.Add(column2);
             selectQuery1.Columns.Add(column3);
@@ -841,6 +1215,20 @@
             selectQuery1.Columns.Add(column36);
             selectQuery1.Columns.Add(column37);
             selectQuery1.Columns.Add(column38);
+            selectQuery1.Columns.Add(column39);
+            selectQuery1.Columns.Add(column40);
+            selectQuery1.Columns.Add(column41);
+            selectQuery1.Columns.Add(column42);
+            selectQuery1.Columns.Add(column43);
+            selectQuery1.Columns.Add(column44);
+            selectQuery1.Columns.Add(column45);
+            selectQuery1.Columns.Add(column46);
+            selectQuery1.Columns.Add(column47);
+            selectQuery1.Columns.Add(column48);
+            selectQuery1.Columns.Add(column49);
+            selectQuery1.Columns.Add(column50);
+            selectQuery1.Columns.Add(column51);
+            selectQuery1.Columns.Add(column52);
             selectQuery1.FilterString = "[Contracts.Id] = ?ContractId";
             selectQuery1.GroupFilterString = "";
             selectQuery1.Name = "Contracts";
@@ -862,7 +1250,7 @@
             join2.Parent = table2;
             join2.SqlJoinType = ((DevExpress.DataAccess.Sql.SqlJoinType)(DevExpress.DataAccess.Sql.SqlJoinType.LeftOuter));
             relationColumnInfo3.NestedKeyColumn = "Id";
-            relationColumnInfo3.ParentKeyColumn = "JobTitleId";
+            relationColumnInfo3.ParentKeyColumn = "JobId";
             relationColumnInfo4.NestedKeyColumn = "Id";
             relationColumnInfo4.ParentKeyColumn = "JobId";
             join3.KeyColumns.Add(relationColumnInfo3);
@@ -871,29 +1259,43 @@
             join3.Parent = table2;
             join3.SqlJoinType = ((DevExpress.DataAccess.Sql.SqlJoinType)(DevExpress.DataAccess.Sql.SqlJoinType.LeftOuter));
             relationColumnInfo5.NestedKeyColumn = "Id";
-            relationColumnInfo5.ParentKeyColumn = "WorkCountryId";
+            relationColumnInfo5.ParentKeyColumn = "AcademicQualificationId";
             join4.KeyColumns.Add(relationColumnInfo5);
-            join4.Nested = table6;
+            join4.Nested = table3;
             join4.Parent = table2;
             join4.SqlJoinType = ((DevExpress.DataAccess.Sql.SqlJoinType)(DevExpress.DataAccess.Sql.SqlJoinType.LeftOuter));
             relationColumnInfo6.NestedKeyColumn = "Id";
-            relationColumnInfo6.ParentKeyColumn = "AcademicQualificationId";
+            relationColumnInfo6.ParentKeyColumn = "UniversityId";
             join5.KeyColumns.Add(relationColumnInfo6);
-            join5.Nested = table3;
-            join5.Parent = table2;
+            join5.Nested = table5;
+            join5.Parent = table4;
             join5.SqlJoinType = ((DevExpress.DataAccess.Sql.SqlJoinType)(DevExpress.DataAccess.Sql.SqlJoinType.LeftOuter));
             relationColumnInfo7.NestedKeyColumn = "Id";
-            relationColumnInfo7.ParentKeyColumn = "UniversityId";
+            relationColumnInfo7.ParentKeyColumn = "WorkCountryId";
             join6.KeyColumns.Add(relationColumnInfo7);
-            join6.Nested = table5;
-            join6.Parent = table4;
+            join6.Nested = table6;
+            join6.Parent = table2;
             join6.SqlJoinType = ((DevExpress.DataAccess.Sql.SqlJoinType)(DevExpress.DataAccess.Sql.SqlJoinType.LeftOuter));
+            relationColumnInfo8.NestedKeyColumn = "Id";
+            relationColumnInfo8.ParentKeyColumn = "WorkStateId";
+            join7.KeyColumns.Add(relationColumnInfo8);
+            join7.Nested = table9;
+            join7.Parent = table2;
+            join7.SqlJoinType = ((DevExpress.DataAccess.Sql.SqlJoinType)(DevExpress.DataAccess.Sql.SqlJoinType.LeftOuter));
+            relationColumnInfo9.NestedKeyColumn = "Id";
+            relationColumnInfo9.ParentKeyColumn = "CompanyRepresentativeId";
+            join8.KeyColumns.Add(relationColumnInfo9);
+            join8.Nested = table8;
+            join8.Parent = table2;
+            join8.SqlJoinType = ((DevExpress.DataAccess.Sql.SqlJoinType)(DevExpress.DataAccess.Sql.SqlJoinType.LeftOuter));
             selectQuery1.Relations.Add(join1);
             selectQuery1.Relations.Add(join2);
             selectQuery1.Relations.Add(join3);
             selectQuery1.Relations.Add(join4);
             selectQuery1.Relations.Add(join5);
             selectQuery1.Relations.Add(join6);
+            selectQuery1.Relations.Add(join7);
+            selectQuery1.Relations.Add(join8);
             selectQuery1.Tables.Add(table2);
             selectQuery1.Tables.Add(table1);
             selectQuery1.Tables.Add(table4);
@@ -901,17 +1303,12 @@
             selectQuery1.Tables.Add(table7);
             selectQuery1.Tables.Add(table6);
             selectQuery1.Tables.Add(table5);
+            selectQuery1.Tables.Add(table8);
+            selectQuery1.Tables.Add(table9);
             this.sqlDataSource1.Queries.AddRange(new DevExpress.DataAccess.Sql.SqlQuery[] {
             selectQuery1});
             this.sqlDataSource1.ResultSchemaSerializable = resources.GetString("sqlDataSource1.ResultSchemaSerializable");
             // 
-            // ContractId
-            // 
-            this.ContractId.AllowNull = true;
-            this.ContractId.Name = "ContractId";
-            this.ContractId.Type = typeof(int);
-            this.ContractId.ValueInfo = "1";
-            // 
             // xrControlStyle1
             // 
             this.xrControlStyle1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
@@ -937,7 +1334,7 @@
             new DevExpress.XtraReports.Localization.LocalizationItem(this, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this, "Default", "Margins", new DevExpress.Drawing.DXMargins(100F, 100F, 84.16666F, 100F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this, "en-US", "Margins", new DevExpress.Drawing.DXMargins(100F, 100F, 84.16666F, 100F)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.Detail, "Default", "HeightF", 671.6667F),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.Detail, "Default", "HeightF", 759.1667F),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.TopMargin, "Default", "HeightF", 84.16666F),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel1, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 33.83331F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel1, "Default", "SizeF", new System.Drawing.SizeF(201.6667F, 23F)),
@@ -951,87 +1348,87 @@
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel11, "Default", "SizeF", new System.Drawing.SizeF(70.83334F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel11, "Default", "Text", "CR:"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel12, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(462.5F, 33.83331F)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel12, "Default", "SizeF", new System.Drawing.SizeF(100F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel12, "Default", "SizeF", new System.Drawing.SizeF(177.5F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel12, "Default", "Text", "xrLabel12"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel13, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel13, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 163F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel13, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 255F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel13, "Default", "SizeF", new System.Drawing.SizeF(70.83334F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel13, "Default", "Text", "Passport:"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel14, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel14, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 140F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel14, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 232F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel14, "Default", "SizeF", new System.Drawing.SizeF(70.83334F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel14, "Default", "Text", "Name:"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel15, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 14F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel15, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 102.8333F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel15, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 194.8333F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel15, "Default", "SizeF", new System.Drawing.SizeF(600F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel15, "en-US", "SizeF", new System.Drawing.SizeF(618.3333F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel15, "Default", "Text", "Employee Information:"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel16, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel16, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 186F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel16, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 278F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel16, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel16, "Default", "Text", "Date Of Birth:"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel17, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(158.3333F, 185.9999F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel17, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 277.9999F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel17, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(132.5F, 185.9999F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel17, "Default", "SizeF", new System.Drawing.SizeF(100F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel17, "Default", "Text", "xrLabel17"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel17, "Default", "TextFormatString", "{0:d}"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel18, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel18, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(377.5F, 209F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel18, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(377.5F, 278F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel18, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(355.8332F, 209F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel18, "Default", "SizeF", new System.Drawing.SizeF(51.66666F, 23.00003F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel18, "en-US", "SizeF", new System.Drawing.SizeF(99.99994F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel18, "Default", "Text", "Email:"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel19, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel19, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 314.3335F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel19, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 406.3337F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel19, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel19, "Default", "Text", "Job:"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel2, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(158.3333F, 139.9999F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel2, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 231.9999F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel2, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(132.5F, 139.9999F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel2, "Default", "SizeF", new System.Drawing.SizeF(257.5001F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel2, "Default", "Text", "xrLabel2"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel20, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel20, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(377.5F, 232F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel20, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(377.5F, 301F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel20, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(355.8332F, 232F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel20, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel20, "en-US", "SizeF", new System.Drawing.SizeF(99.99994F, 23.00003F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel20, "Default", "Text", "Qualification:"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel21, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel21, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 232F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel21, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 324F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel21, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel21, "Default", "Text", "University:"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel22, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(166.6666F, 314.3335F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel22, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(166.6666F, 406.3337F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel22, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(158.3333F, 314.3335F)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel22, "Default", "SizeF", new System.Drawing.SizeF(172.5001F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel22, "Default", "SizeF", new System.Drawing.SizeF(225.0001F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel22, "Default", "Text", "xrLabel22"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel23, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(158.3333F, 208.9999F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel23, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 300.9998F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel23, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(132.5F, 208.9999F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel23, "Default", "SizeF", new System.Drawing.SizeF(100F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel23, "Default", "Text", "xrLabel23"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel24, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(433.3333F, 208.9999F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel24, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(433.3333F, 277.9998F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel24, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(455.8331F, 209F)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel24, "Default", "SizeF", new System.Drawing.SizeF(188.3334F, 22.99995F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel24, "Default", "SizeF", new System.Drawing.SizeF(206.6667F, 22.99994F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel24, "en-US", "SizeF", new System.Drawing.SizeF(194.1669F, 22.99998F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel24, "Default", "Text", "xrLabel24"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel25, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(158.3333F, 232.0001F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel25, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 324.0002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel25, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(132.5F, 232.0001F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel25, "Default", "SizeF", new System.Drawing.SizeF(172.5001F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel25, "Default", "Text", "xrLabel25"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel26, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel26, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(391.6667F, 314.3336F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel26, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(391.6667F, 406.3339F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel26, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(355.8332F, 314.3336F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel26, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel26, "Default", "Text", "Job Number:"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel27, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(491.6667F, 314.3336F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel27, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(491.6667F, 406.3339F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel27, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(455.8332F, 314.3336F)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel27, "Default", "SizeF", new System.Drawing.SizeF(100F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel27, "Default", "SizeF", new System.Drawing.SizeF(130F, 22.99997F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel27, "Default", "Text", "xrLabel27"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel28, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 14F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel28, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 272.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel28, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 370.0002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel28, "Default", "SizeF", new System.Drawing.SizeF(600F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel28, "en-US", "SizeF", new System.Drawing.SizeF(618.3333F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel28, "Default", "Text", "Job"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel29, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel29, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 364.8336F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel29, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 458.1667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel29, "Default", "SizeF", new System.Drawing.SizeF(600F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel29, "en-US", "SizeF", new System.Drawing.SizeF(618.3333F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel29, "Default", "Text", "Contract"),
@@ -1040,118 +1437,218 @@
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel3, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(491.6667F, 10F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel3, "Default", "SizeF", new System.Drawing.SizeF(148.3333F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel30, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel30, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 403.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel30, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 481.1667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel30, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel30, "Default", "Text", "Start Date:"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel31, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel31, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(391.6667F, 403.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel31, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(391.6667F, 481.1667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel31, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(355.8332F, 403.1669F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel31, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel31, "Default", "Text", "End Date:"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel32, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel32, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 426.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel32, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 504.1667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel32, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel32, "Default", "Text", "Duration:"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel33, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(166.6666F, 426.1668F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel33, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(166.6666F, 504.1665F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel33, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(132.5F, 426.1669F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel33, "Default", "SizeF", new System.Drawing.SizeF(100F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel33, "Default", "Text", "xrLabel33"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel34, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(491.6667F, 426.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel34, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(491.6667F, 504.1667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel34, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(455.8332F, 426.1669F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel34, "Default", "SizeF", new System.Drawing.SizeF(100F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel34, "Default", "Text", "xrLabel34"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel35, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel35, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(391.6667F, 426.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel35, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(391.6667F, 504.1667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel35, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(355.8332F, 426.1669F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel35, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel35, "Default", "Text", "Contract Type:"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel36, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel36, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 449.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel36, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 527.1666F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel36, "Default", "SizeF", new System.Drawing.SizeF(135F, 23.00003F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel36, "en-US", "SizeF", new System.Drawing.SizeF(108F, 23.00003F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel36, "Default", "Text", "Vacation Days:"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel37, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(166.6667F, 449.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel37, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(166.6667F, 527.1666F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel37, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(132.5003F, 449.167F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel37, "Default", "SizeF", new System.Drawing.SizeF(100F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel37, "Default", "Text", "xrLabel37"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel38, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel38, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 472.167F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel38, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(391.6667F, 527.1666F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel38, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00003F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel38, "Default", "Text", "Trial Period:"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel39, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(166.6666F, 472.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel39, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(491.6667F, 527.1666F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel39, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(132.5F, 472.167F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel39, "Default", "SizeF", new System.Drawing.SizeF(100F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel39, "Default", "Text", "xrLabel39"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel4, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel4, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 209F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel4, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 301F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel4, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel4, "Default", "Text", "Phone:"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel40, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(205F, 495.1669F)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel40, "Default", "SizeF", new System.Drawing.SizeF(100F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel40, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(204.1666F, 550.1666F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel40, "Default", "SizeF", new System.Drawing.SizeF(68.33331F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel40, "Default", "Text", "xrLabel40"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel41, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel41, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 495.167F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel41, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 550.1666F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel41, "Default", "SizeF", new System.Drawing.SizeF(180F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel41, "Default", "Text", "Termination Notice Period:"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel42, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 14F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel42, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 530.667F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel42, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(22.49995F, 573.1666F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel42, "Default", "SizeF", new System.Drawing.SizeF(600F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel42, "en-US", "SizeF", new System.Drawing.SizeF(618.3333F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel42, "Default", "Text", "Work Time"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel43, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel43, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 567.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel43, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(22.49995F, 596.1666F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel43, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00003F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel43, "Default", "Text", "Working Days:"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel44, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(166.6667F, 567.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel44, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(167.5F, 596.1666F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel44, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(132.5F, 567.1669F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel44, "Default", "SizeF", new System.Drawing.SizeF(172.4999F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel44, "Default", "Text", "xrLabel44"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel45, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel45, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(391.6667F, 567.1668F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel45, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(392.4999F, 596.1665F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel45, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(355.8332F, 567.1668F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel45, "Default", "SizeF", new System.Drawing.SizeF(111.6667F, 23.00006F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel45, "Default", "Text", "Working Hours:"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel46, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(503.3333F, 567.167F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel46, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(504.1667F, 596.1669F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel46, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(467.4999F, 567.167F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel46, "Default", "SizeF", new System.Drawing.SizeF(100F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel46, "Default", "Text", "xrLabel46"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel47, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 14F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel47, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 601.0004F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel47, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(22.49995F, 619.1669F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel47, "Default", "SizeF", new System.Drawing.SizeF(600F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel47, "en-US", "SizeF", new System.Drawing.SizeF(618.3333F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel47, "Default", "Text", "Salary"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel48, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 638.6667F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel48, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(123.3332F, 642.1667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel48, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(132.5F, 638.6667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel48, "Default", "SizeF", new System.Drawing.SizeF(79.16672F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel48, "Default", "Text", "xrLabel48"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel49, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel49, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(22.49995F, 638.6667F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel49, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(23.33323F, 642.1667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel49, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00003F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel49, "Default", "Text", "Amount:"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel5, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(158.3333F, 162.9999F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel5, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 254.9999F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel5, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(132.5F, 162.9999F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel5, "Default", "SizeF", new System.Drawing.SizeF(150F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel5, "Default", "Text", "xrLabel5"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel50, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(205.0001F, 638.6667F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel50, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(205.8334F, 642.1667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel50, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(211.6668F, 638.6668F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel50, "Default", "SizeF", new System.Drawing.SizeF(100F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel50, "en-US", "SizeF", new System.Drawing.SizeF(93.33333F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel50, "Default", "Text", "xrLabel50"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel51, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(477.5F, 232.0001F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel51, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(477.5F, 301.0002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel51, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(455.8331F, 232.0001F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel51, "Default", "SizeF", new System.Drawing.SizeF(170F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel51, "en-US", "SizeF", new System.Drawing.SizeF(194.1669F, 23.00002F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel51, "Default", "Text", "xrLabel51"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel6, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(166.6666F, 403.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel52, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 56.83329F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel52, "Default", "SizeF", new System.Drawing.SizeF(201.6667F, 22.99999F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel52, "Default", "Text", "xrLabel52"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel53, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(462.5F, 56.83329F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel53, "Default", "SizeF", new System.Drawing.SizeF(177.5F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel53, "Default", "Text", "xrLabel53"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel54, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 79.83327F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel54, "Default", "SizeF", new System.Drawing.SizeF(469.1668F, 22.99999F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel54, "Default", "Text", "xrLabel54"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel55, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel55, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 56.83332F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel55, "Default", "SizeF", new System.Drawing.SizeF(70.83334F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel55, "Default", "Text", "Email:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel56, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel56, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(22.49995F, 79.83327F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel56, "Default", "SizeF", new System.Drawing.SizeF(70.83334F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel56, "Default", "Text", "Address:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel57, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel57, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(391.6667F, 56.83327F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel57, "Default", "SizeF", new System.Drawing.SizeF(70.83334F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel57, "Default", "Text", "Phone:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel58, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel58, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(377.5F, 324F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel58, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel58, "Default", "Text", "Job:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel59, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(477.5F, 324F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel59, "Default", "SizeF", new System.Drawing.SizeF(172.5002F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel59, "Default", "Text", "xrLabel59"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel6, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(166.6666F, 481.1667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel6, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(132.5F, 403.167F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel6, "Default", "SizeF", new System.Drawing.SizeF(141.6667F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel6, "Default", "Text", "xrLabel6"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel6, "Default", "TextFormatString", "{0:d}"),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel7, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(491.6667F, 403.1669F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel60, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 14F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel60, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(22.49995F, 665.1667F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel60, "Default", "SizeF", new System.Drawing.SizeF(600F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel60, "Default", "Text", "Allowances"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel61, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel61, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 102.8333F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel61, "Default", "SizeF", new System.Drawing.SizeF(600F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel61, "Default", "Text", "Company Representative:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel62, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel62, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 125.8333F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel62, "Default", "SizeF", new System.Drawing.SizeF(70.83334F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel62, "Default", "Text", "Name:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel63, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel63, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(377.5F, 125.8333F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel63, "Default", "SizeF", new System.Drawing.SizeF(70.83334F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel63, "Default", "Text", "Passport:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel64, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel64, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(22.49995F, 148.8332F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel64, "Default", "SizeF", new System.Drawing.SizeF(70.83334F, 23.00002F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel64, "Default", "Text", "Phone:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel65, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel65, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(377.5F, 148.8332F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel65, "Default", "SizeF", new System.Drawing.SizeF(51.66666F, 23.00003F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel65, "Default", "Text", "Email:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel66, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(433.3333F, 148.8332F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel66, "Default", "SizeF", new System.Drawing.SizeF(206.6667F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel66, "Default", "Text", "xrLabel66"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel67, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(448.3333F, 125.8332F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel67, "Default", "SizeF", new System.Drawing.SizeF(173.3334F, 23.00001F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel67, "Default", "Text", "xrLabel67"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel68, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 125.8332F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel68, "Default", "SizeF", new System.Drawing.SizeF(231.6666F, 22.99999F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel68, "Default", "Text", "xrLabel2"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel69, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 148.8332F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel69, "Default", "SizeF", new System.Drawing.SizeF(231.6666F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel69, "Default", "Text", "xrLabel69"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel7, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(491.6667F, 481.1667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel7, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(455.8332F, 403.1669F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel7, "Default", "SizeF", new System.Drawing.SizeF(100F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel7, "Default", "Text", "xrLabel7"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel7, "Default", "TextFormatString", "{0:d}"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel70, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel70, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(22.49995F, 171.8333F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel70, "Default", "SizeF", new System.Drawing.SizeF(70.83334F, 23.00002F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel70, "Default", "Text", "Position:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel71, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 171.8333F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel71, "Default", "SizeF", new System.Drawing.SizeF(231.6666F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel71, "Default", "Text", "xrLabel71"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel72, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(122.4999F, 347.0002F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel72, "Default", "SizeF", new System.Drawing.SizeF(243.3334F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel72, "Default", "Text", "xrLabel72"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel73, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(477.5F, 347.0002F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel73, "Default", "SizeF", new System.Drawing.SizeF(170F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel73, "Default", "Text", "xrLabel73"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel74, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel74, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(22.49995F, 347.0002F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel74, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel74, "Default", "Text", "Work Country:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel75, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel75, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(377.5F, 347.0002F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel75, "Default", "SizeF", new System.Drawing.SizeF(100F, 23.00002F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel75, "Default", "Text", "Work City:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel76, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(166.6666F, 429.3337F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel76, "Default", "SizeF", new System.Drawing.SizeF(455.0001F, 23.00003F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel76, "Default", "Text", "xrLabel76"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel77, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel77, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 429.3337F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel77, "Default", "SizeF", new System.Drawing.SizeF(113.3333F, 23.00003F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel77, "Default", "Text", "Job Description:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel78, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Bold)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel78, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(377.5F, 255F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel78, "Default", "SizeF", new System.Drawing.SizeF(85F, 23.00003F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel78, "Default", "Text", "Expiry Date:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel79, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(477.5F, 255F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel79, "Default", "SizeF", new System.Drawing.SizeF(145F, 23F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel79, "Default", "Text", "xrLabel79"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel79, "Default", "TextFormatString", "{0:d}"),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel8, "Default", "Font", new DevExpress.Drawing.DXFont("Arial", 19F, DevExpress.Drawing.DXFontStyle.Bold)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel8, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(183.3333F, 26.66667F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel8, "en-US", "LocationFloat", new DevExpress.Utils.PointFloat(183.3333F, 26.66667F)),
@@ -1162,7 +1659,9 @@
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel9, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(21.66667F, 0F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel9, "Default", "SizeF", new System.Drawing.SizeF(600F, 23F)),
             new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel9, "en-US", "SizeF", new System.Drawing.SizeF(618.3333F, 23F)),
-            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel9, "Default", "Text", "Company Information:")});
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrLabel9, "Default", "Text", "Company Information:"),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrSubreport1, "Default", "LocationFloat", new DevExpress.Utils.PointFloat(23.33323F, 688.1667F)),
+            new DevExpress.XtraReports.Localization.LocalizationItem(this.xrSubreport1, "Default", "SizeF", new System.Drawing.SizeF(599.1667F, 44.66663F))});
             this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
             this.ContractId});
             this.StyleSheet.AddRange(new DevExpress.XtraReports.UI.XRControlStyle[] {
@@ -1231,5 +1730,34 @@
         private DevExpress.XtraReports.UI.XRLabel xrLabel51;
         private DevExpress.XtraReports.UI.XRLabel xrLabel3;
         private DevExpress.XtraReports.UI.XRControlStyle xrControlStyle1;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel57;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel56;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel55;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel54;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel53;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel52;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel59;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel58;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel60;
+        private DevExpress.XtraReports.UI.XRSubreport xrSubreport1;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel61;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel67;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel66;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel62;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel63;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel64;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel65;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel69;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel68;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel71;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel70;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel75;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel74;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel73;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel72;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel77;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel76;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel79;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel78;
     }
 }

File diff suppressed because it is too large
+ 1 - 1
MTWorkHR.API/Reports/ContractReport.resx


+ 0 - 130
MTWorkHR.API/Reports/EmployeeContract.Designer.cs

@@ -1,130 +0,0 @@
-namespace MTWorkHR.Infrastructure.Reports
-{
-    partial class EmployeeContract
-    {
-        /// <summary>
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
-
-        /// <summary> 
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
-
-        #region Designer generated code
-
-        /// <summary>
-        /// Required method for Designer support - do not modify
-        /// the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-            this.components = new System.ComponentModel.Container();
-            DevExpress.DataAccess.Sql.CustomSqlQuery customSqlQuery1 = new DevExpress.DataAccess.Sql.CustomSqlQuery();
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EmployeeContract));
-            this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
-            this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
-            this.Detail = new DevExpress.XtraReports.UI.DetailBand();
-            this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
-            this.sqlDataSource1 = new DevExpress.DataAccess.Sql.SqlDataSource(this.components);
-            this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
-            this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
-            ((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
-            // 
-            // TopMargin
-            // 
-            this.TopMargin.Name = "TopMargin";
-            // 
-            // BottomMargin
-            // 
-            this.BottomMargin.Name = "BottomMargin";
-            // 
-            // Detail
-            // 
-            this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
-            this.xrLabel3,
-            this.xrLabel2,
-            this.xrLabel1});
-            this.Detail.Name = "Detail";
-            // 
-            // xrLabel1
-            // 
-            this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 19F, DevExpress.Drawing.DXFontStyle.Bold);
-            this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(169.1667F, 25F);
-            this.xrLabel1.Multiline = true;
-            this.xrLabel1.Name = "xrLabel1";
-            this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
-            this.xrLabel1.SizeF = new System.Drawing.SizeF(349.1666F, 47.16666F);
-            this.xrLabel1.StylePriority.UseFont = false;
-            this.xrLabel1.Text = "Hi my friend";
-            // 
-            // sqlDataSource1
-            // 
-            this.sqlDataSource1.ConnectionName = "LocalConnectionString";
-            this.sqlDataSource1.Name = "sqlDataSource1";
-            customSqlQuery1.Name = "Query";
-            customSqlQuery1.Sql = "select * from contracts";
-            this.sqlDataSource1.Queries.AddRange(new DevExpress.DataAccess.Sql.SqlQuery[] {
-            customSqlQuery1});
-            this.sqlDataSource1.ResultSchemaSerializable = resources.GetString("sqlDataSource1.ResultSchemaSerializable");
-            // 
-            // xrLabel2
-            // 
-            this.xrLabel2.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
-            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[BillingCycle]")});
-            this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(45.83333F, 76.99999F);
-            this.xrLabel2.Multiline = true;
-            this.xrLabel2.Name = "xrLabel2";
-            this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
-            this.xrLabel2.SizeF = new System.Drawing.SizeF(100F, 23F);
-            this.xrLabel2.Text = "xrLabel2";
-            this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
-            // 
-            // xrLabel3
-            // 
-            this.xrLabel3.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
-            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[CreateDate]")});
-            this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(217.5F, 76.99999F);
-            this.xrLabel3.Multiline = true;
-            this.xrLabel3.Name = "xrLabel3";
-            this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
-            this.xrLabel3.SizeF = new System.Drawing.SizeF(100F, 23F);
-            this.xrLabel3.Text = "xrLabel3";
-            this.xrLabel3.TextFormatString = "{0:d}";
-            // 
-            // EmployeeContract
-            // 
-            this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
-            this.TopMargin,
-            this.BottomMargin,
-            this.Detail});
-            this.ComponentStorage.AddRange(new System.ComponentModel.IComponent[] {
-            this.sqlDataSource1});
-            this.DataMember = "Query";
-            this.DataSource = this.sqlDataSource1;
-            this.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F);
-            this.Version = "24.1";
-            ((System.ComponentModel.ISupportInitialize)(this)).EndInit();
-
-        }
-
-        #endregion
-
-        private DevExpress.XtraReports.UI.TopMarginBand TopMargin;
-        private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin;
-        private DevExpress.XtraReports.UI.DetailBand Detail;
-        private DevExpress.XtraReports.UI.XRLabel xrLabel1;
-        private DevExpress.DataAccess.Sql.SqlDataSource sqlDataSource1;
-        private DevExpress.XtraReports.UI.XRLabel xrLabel3;
-        private DevExpress.XtraReports.UI.XRLabel xrLabel2;
-    }
-}

+ 2 - 2
MTWorkHR.API/Reports/ReportStorageWebExtension.cs

@@ -75,8 +75,8 @@ namespace MTWorkHR.Infrastructure.Reports
             {
                 case "ContractReport":
                     return new ContractReport();
-                case "EmployeeContract":
-                    return new EmployeeContract();
+                case "ContractAllowance":
+                    return new ContractAllowances();
                 default: return null;
             }
         }

+ 2 - 2
MTWorkHR.Application/Dtos/Contract/ContractAllowanceDto.cs

@@ -17,8 +17,8 @@ namespace MTWorkHR.Application.Models
         [Required]
         public long AllowanceType { get; set; }
         public string? AllowanceDesc { get; set; }
-        public long EntitlementPercent { get; set; }// اختيار (مبلغ – يكتب المبلغ)    أو  (نسبة من الراتب – ويظهر المبلغ توماتك)      
-        public long EntitlementAmount { get; set; }
+        public decimal EntitlementPercent { get; set; }// اختيار (مبلغ – يكتب المبلغ)    أو  (نسبة من الراتب – ويظهر المبلغ توماتك)      
+        public decimal EntitlementAmount { get; set; }
         public PaymentType PaymentType { get; set; }
 
     }

+ 4 - 3
MTWorkHR.Application/Dtos/Contract/ContractDto.cs

@@ -14,7 +14,7 @@ namespace MTWorkHR.Application.Models
     public class ContractDto : EntityDto
     {
         public ContractTypeEnum ContractTypeId { get; set; }
-        public ContractStatusEnum ContractStatusId { get; set; }
+        public ContractStatusEnum ContractStatusId { get; set; } 
 
         public long CompanyId { get; set; }
         public string CompanyRepresentativeId { get; set; }
@@ -27,14 +27,14 @@ namespace MTWorkHR.Application.Models
         public int WorkCountryId { get; set; }
         public int WorkStateId { get; set; }
         //-------------------Scope of work-----------
-        public int? JobTitleId { get; set; }
+        public string? JobTitleName { get; set; }
         public string? JobDescription{ get; set; }
         [MaxLength(150)]
         public string? JobNumber { get; set; } //ثابت و مأخوذ من المنصة
         //----------------Contract data -------------------------
         public DateTime? StartDate { get; set; }
         public DateTime? EndDate { get; set; }
-        public int ContractDurationId { get; set; } //:  اختيار: شهري – ربعي – نصف سنوي – 3 ارباع – سنوي
+        public ContractDurationEnum ContractDurationId { get; set; } //:  اختيار: شهري – ربعي – نصف سنوي – 3 ارباع – سنوي
         public TypeOfWork TypeOfWork { get; set; } //: :   اختيار: عقد بدوام كامل -  عقد دوام جزئي   
         public int VacationDays { get; set; } //اختيار: بدون – سنويا (رقم)
         public int TrialPeriod { get; set; } // تجربة (ادخال: تلقائياً كل ربع سنوي أسبوع تلقائياً) آخر: تعديل
@@ -46,6 +46,7 @@ namespace MTWorkHR.Application.Models
         //------Working time---------------
         public string WorkingDays { get; set; } //:   اختيار متعدد الأيام سبت أحد اثنين..... (بحيث الأيام الأخرى تكون إجازة) 1,2,3,4,5
         public WorkingHours WorkingHours { get; set; } //	يومي/ اسبوعي  
+        public int WorkingHoursNum { get; set; } // عدد الساعات
         public DateTime? StartDailyWorkingHours { get; set; } // تحديد ساعات الدوام قائمة الساعات << التوقيت بحسب دولة صاحب العمل
         public DateTime? EndDailyWorkingHours { get; set; } // تحديد ساعات الدوام قائمة الساعات << التوقيت بحسب دولة صاحب العمل
 

+ 15 - 0
MTWorkHR.Application/Dtos/Contract/ContractStatusDto.cs

@@ -0,0 +1,15 @@
+using Microsoft.AspNetCore.Http;
+using MTWorkHR.Core.Entities;
+using MTWorkHR.Core.Entities.Base;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+
+namespace MTWorkHR.Application.Models
+{
+    public class ContractStatusDto
+    {
+        public long ContractId { get; set; }
+        public int StatusId { get; set; }
+
+    }
+}

+ 6 - 6
MTWorkHR.Application/Middlewares/LoggingMiddleware.cs

@@ -79,9 +79,9 @@ namespace MTWorkHR.Application.Middlewares
                 dynamic service = Activator.CreateInstance(logServiceWithGenericType, new object[] { unitOfWork });
 
                 var msg = error is AppException ? ((AppException)error).ErrorMessage : error.Message;
-                var errorNo = error is AppException ? ((AppException)error).ErrorNumber : "0";
-                int errorNum = 0;
-                int.TryParse(errorNo, out errorNum); 
+                var errorNum = error is AppException ? ((AppException)error).ErrorNumber : 0;
+               // int errorNum = 0;
+               // int.TryParse(errorNo, out errorNum); 
                 dynamic logEnitity = Activator.CreateInstance(entityType, new object[] {
                     controllerName+"/"+actionName, QueryString, bodyStr, DateTime.Now, "",GetLocalIPAddress(), GetServerIp(context), GetUserExternalIp(context), "", "", msg, error?.InnerException?.Message });
 
@@ -100,8 +100,8 @@ namespace MTWorkHR.Application.Middlewares
                             await context.Response.WriteAsJsonAsync(
                              new BadRequestResult
                              {
-                                 ErrorMsg = "*_*" + ((AppException)error).ErrorMessage + "*_*",
-                                 ErrorNo = errorNum
+                                 ErrorMsg = "" + ((AppException)error).ErrorMessage + "",
+                                 ErrorNo = (int)errorNum
                              });
                             return;
                         }
@@ -110,7 +110,7 @@ namespace MTWorkHR.Application.Middlewares
                             context.Response.Clear();
                             context.Response.ContentType = "text/plain";
                             context.Response.StatusCode = StatusCodes.Status500InternalServerError;
-                            await context.Response.WriteAsync("*_*" + "Internal Server Error" + "*_*");
+                            await context.Response.WriteAsync( "Internal Server Error" );
                             return;
 
                         }

+ 17 - 1
MTWorkHR.Application/Services/Contract/ContractService.cs

@@ -7,6 +7,8 @@ using MTWorkHR.Core.UnitOfWork;
 using MTWorkHR.Application.Services.Interfaces;
 using MTWorkHR.Core.Entities;
 using System.Linq.Dynamic.Core;
+using Microsoft.AspNetCore.Identity;
+using MTWorkHR.Infrastructure.Entities;
 
 namespace MTWorkHR.Application.Services
 {
@@ -105,7 +107,21 @@ namespace MTWorkHR.Application.Services
             return response;
         }
 
-       
+        public async Task<bool> ChangeStatus(long contractId, int statusId)
+        {
+            var entity = await _unitOfWork.Contract.GetByIdAsync(contractId);
+            if (entity == null)
+                throw new AppException(ExceptionEnum.RecordNotExist);
+            entity.ContractStatusId = statusId;
+            bool result = true;
+            if (statusId == (int)ContractStatusEnum.Approved)
+            {
+                var updatedSuccess = await _userService.Update(entity.UserId, entity.CompanyId);
+                if (!updatedSuccess) { result = false; }
+            }
+            await _unitOfWork.CompleteAsync();
+            return result;
+        }
 
 
 

+ 2 - 1
MTWorkHR.Application/Services/Interfaces/ICompanyService.cs

@@ -14,6 +14,7 @@ namespace MTWorkHR.Application.Services.Interfaces
       
         Task<List<CompanyDto>> GetAllCompanies();
         Task<CompanyDto> GetById();
-        
+        Task<CompanyDto> GetById(long companyId);
+
     }
 }

+ 1 - 0
MTWorkHR.Application/Services/Interfaces/IContractService.cs

@@ -8,6 +8,7 @@ namespace MTWorkHR.Application.Services.Interfaces
     public interface IContractService : IService<Contract, ContractDto, ContractDto>
     {
         Task<PagingResultDto<ContractDto>> GetAll(ContractPagingInputDto PagingInputDto);
+        Task<bool> ChangeStatus(long contractId, int statusId);
 
     }
 }

+ 2 - 1
MTWorkHR.Application/Services/Interfaces/IUserService.cs

@@ -12,6 +12,7 @@ namespace MTWorkHR.Application.Identity
     {
         Task<PagingResultDto<UserAllDto>> GetAll(UserPagingInputDto PagingInputDto);
         Task<UserDto> GetById(string userId);
+        Task<UserDto> GetByEmail(string email);
         Task<UserDto> GetById();
         Task<List<UserDto>> GetAllEmployees();
 
@@ -32,6 +33,6 @@ namespace MTWorkHR.Application.Identity
         Task<BlobObject> Download(string filePath);
         Task<UserDto> GetUserWithAttachmentById(string id);
         Task<string> GetProfileImage(string userId);
-
+        Task<bool> Update(string userId, long companyId);
     }
 }

+ 33 - 1
MTWorkHR.Application/Services/User/UserService.cs

@@ -58,6 +58,14 @@ namespace MTWorkHR.Application.Services
         {
             return await GetById(_globalInfo.UserId);
         }
+        public async Task<UserDto> GetByEmail(string email)
+        {
+            var user = _userManager.Users.FirstOrDefault(x => x.Email == email);
+            if(user == null)
+                throw new AppException(ExceptionEnum.UserNotExist);
+
+            return await GetById(user.Id);
+        }
         public async Task<UserDto> GetById(string id)
         {
             var entity = await _userManager.Users
@@ -557,8 +565,32 @@ namespace MTWorkHR.Application.Services
             var user = MapperObject.Mapper.Map<UserUpdateDto>(userResponse);
             return user;
         }
-        
 
+        public async Task<bool> Update(string userId, long companyId)
+        {
+            try
+            {
+                var entity = _userManager.Users.FirstOrDefault(x => x.Id == userId);
+
+                if (entity == null)
+                    throw new AppException(ExceptionEnum.UserNotExist);
+
+
+                entity.CompanyId = companyId;
+                entity.UpdateDate = DateTime.Now;
+
+                //saving user
+                var result = await _userManager.UpdateAsync(entity);
+                if (!result.Succeeded)
+                    throw new AppException(ExceptionEnum.RecordUpdateFailed);
+                await _unitOfWork.CompleteAsync();
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw e;
+            }
+        }
         public async Task<bool> IsExpiredToken(ConfirmEmailDto input)
         {
             var user = await _userManager.Users.IgnoreQueryFilters().FirstOrDefaultAsync(x => x.Id == input.UserId);

+ 8 - 7
MTWorkHR.Core/Entities/Contract/Contract.cs

@@ -12,8 +12,8 @@ namespace MTWorkHR.Core.Entities
 {
     public class Contract : FullAuditEntity, IHaveCompany
     {
-        public ContractTypeEnum ContractTypeId { get; set; }
-        public ContractStatusEnum ContractStatusId { get; set; }
+        public int ContractTypeId { get; set; }
+        public int ContractStatusId { get; set; }
 
         public long CompanyId { get; set; }
         public string CompanyRepresentativeId { get; set; }
@@ -28,7 +28,7 @@ namespace MTWorkHR.Core.Entities
         public int ContractorTaxResidencyId { get; set; }
         
         //-------------------Scope of work-----------
-        public int? JobTitleId { get; set; }
+        public string? JobTitleName { get; set; }
         public string? JobDescription{ get; set; }
         [MaxLength(150)]
         public string? JobNumber { get; set; } //ثابت و مأخوذ من المنصة
@@ -39,14 +39,15 @@ namespace MTWorkHR.Core.Entities
         public TypeOfWork TypeOfWork { get; set; } //: :   اختيار: عقد بدوام كامل -  عقد دوام جزئي   
         public int VacationDays { get; set; } //اختيار: بدون – سنويا (رقم)
         public int TrialPeriod { get; set; } // تجربة (ادخال: تلقائياً كل ربع سنوي أسبوع تلقائياً) آخر: تعديل
-        public TerminateContractEnum WhoCanTerminateContractInTrial { get; set; } //اختيار   الجميع – صاحب العمل – الموظف
-        public TerminateContractEnum WhoCanTerminateContract { get; set; }
+        public int WhoCanTerminateContractInTrial { get; set; } //اختيار   الجميع – صاحب العمل – الموظف
+        public int WhoCanTerminateContract { get; set; }
         public int NoticePeriodBeforeTermination { get; set; } //اختيار: بدون – تحديد (ادخال: تلقائياً مدة 10 أيام قبل انتهاء الاستحقاق) آخر: تعديل
 
 
         //------Working time---------------
         public string WorkingDays { get; set; } //:   اختيار متعدد الأيام سبت أحد اثنين..... (بحيث الأيام الأخرى تكون إجازة) 1,2,3,4,5
-        public WorkingHours WorkingHours { get; set; } //	يومي/ اسبوعي  
+        public int WorkingHours { get; set; } //	يومي/ اسبوعي  
+        public int WorkingHoursNum { get; set; } // عدد الساعات
         public DateTime? StartDailyWorkingHours { get; set; } // تحديد ساعات الدوام قائمة الساعات << التوقيت بحسب دولة صاحب العمل
         public DateTime? EndDailyWorkingHours { get; set; } // تحديد ساعات الدوام قائمة الساعات << التوقيت بحسب دولة صاحب العمل
 
@@ -54,7 +55,7 @@ namespace MTWorkHR.Core.Entities
         [MaxLength(50)]
         public string? Currency { get; set; }
         public decimal? Salary{ get; set; }
-        public BillingCycle BillingCycle { get; set; }// 2 fortnightly, 4 Monthly
+        public int BillingCycle { get; set; }// 2 fortnightly, 4 Monthly
 
 
         //---------Allowances----------------------

+ 2 - 2
MTWorkHR.Core/Entities/Contract/ContractAllowance.cs

@@ -19,8 +19,8 @@ namespace MTWorkHR.Core.Entities
         [Required]
         public long AllowanceType { get; set; }
         public string? AllowanceDesc { get; set; }
-        public long EntitlementPercent { get; set; }// اختيار (مبلغ – يكتب المبلغ)    أو  (نسبة من الراتب – ويظهر المبلغ توماتك)      
-        public long EntitlementAmount { get; set; }
+        public decimal EntitlementPercent { get; set; }// اختيار (مبلغ – يكتب المبلغ)    أو  (نسبة من الراتب – ويظهر المبلغ توماتك)      
+        public decimal EntitlementAmount { get; set; }
         public PaymentType PaymentType { get; set; }
 
     }

+ 60 - 13
MTWorkHR.Core/Global/AppException.cs

@@ -5,27 +5,74 @@ namespace MTWorkHR.Core.Global
 {
     public class AppException : Exception
     {
-        public readonly string ErrorNumber;
-        public readonly ExceptionEnum errorNumber;
-        public string ErrorMessage = "";
-        public AppException(string errorMessage) : base(errorMessage) { 
+        /// <summary>
+        /// Gets the error number associated with this exception.
+        /// </summary>
+        public readonly ExceptionEnum ErrorNumber;
+
+        /// <summary>
+        /// Gets the formatted error message.
+        /// </summary>
+        public string ErrorMessage { get; private set; } = string.Empty;
+        public AppException(string errorMessage) : base(errorMessage)
+        {
             ErrorMessage = errorMessage;
         }
-        public AppException(ExceptionEnum errorNumber,params object?[] args) : base()
+        /// <summary>
+        /// Creates a new instance of <see cref="AppException"/> using an error number, language, and optional format arguments.
+        /// </summary>
+        /// <param name="errorNumber">The error number (enum) representing the exception type.</param>
+        /// <param name="language">The language code (e.g., "en" or "ar").</param>
+        /// <param name="args">Optional arguments to format the error message.</param>
+        public AppException(ExceptionEnum errorNumber, params object[] args) : base()
+        {
+            ErrorNumber = errorNumber;
+            ErrorMessage = GetMessage(errorNumber, GlobalInfo.lang?? "en", args);
+
+            // Initialize the base exception with the localized error message.
+            this.SetErrorMessage();
+        }
+
+        /// <summary>
+        /// Sets the exception message for the base exception class.
+        /// </summary>
+        private void SetErrorMessage()
         {
-            this.errorNumber = errorNumber;
+            base.HelpLink = ErrorNumber.ToString(); // Optional: Use error number as a link or reference
+            base.Source = nameof(AppException);    // Optional: Set the exception source
+        }
 
-            AppExceptions.ExceptionMessages.TryGetValue((int)this.errorNumber, out this.ErrorMessage);
-            try
+        /// <summary>
+        /// Retrieves the error message based on the provided error code and language.
+        /// </summary>
+        /// <param name="code">The error number (enum).</param>
+        /// <param name="language">The language code (default: "en").</param>
+        /// <param name="args">Optional parameters for formatting the message.</param>
+        /// <returns>The localized error message.</returns>
+        public static string GetMessage(ExceptionEnum code, string language = "en", params object[] args)
+        {
+            if (AppExceptions.ExceptionMessages.TryGetValue(code, out var translations)
+                && translations.TryGetValue(language, out var message))
             {
-                this.ErrorMessage = string.Format(this.ErrorMessage, args);
+                try
+                {
+                    return string.Format(CultureInfo.InvariantCulture, message, args);
+                }
+                catch (FormatException)
+                {
+                    return language == "ar" ? "فشل في تنسيق الرسالة." : "Message formatting failed.";
+                }
             }
-            catch 
-            {
 
-            }
+            // Default fallback
+            return language == "ar" ? "رسالة الخطأ غير موجودة." : "Error message not found.";
         }
 
-
+        public override string ToString()
+        {
+            return $"{base.ToString()}\nError Number: {ErrorNumber}\nError Message: {ErrorMessage}";
+        }
     }
+
+
 }

+ 136 - 28
MTWorkHR.Core/Global/AppExceptions.cs

@@ -8,35 +8,143 @@ namespace MTWorkHR.Core.Global
 {
     public static class AppExceptions
     {
-        public static IDictionary<int, string> ExceptionMessages = new Dictionary<int, string>()
+        public static IDictionary<ExceptionEnum, Dictionary<string, string>> ExceptionMessages = new Dictionary<ExceptionEnum, Dictionary<string, string>>()
         {
-            {1, "Record Not Existed"},
-            {2, "Model is not valid"},
-            {3, "Not Authorized" },
-            {4, "A property called {0} can't be accessed for type {1}." },
-            {5, "Username or password incorrect!"},
-            {6, "Cannot delete the user" },
-            {7, "Record is already existed!" },
-            {8, "Record creation failed! Please check the record details and try again." },
-            {9, "Record update failed! Please check the record details and try again." },
-            {10, "Record delete failed!" },
-            {11, "Record name already existed" },
-            {12, "Record email already existed" },
-            {13, "Attachment Required" },
-             {14, "Could Not Move Files" },
-            {15, "Mapper Issue" },
-            {16, "InCorrect File Length" },
-			{17, "Wrong or expired OTP" },
-			{18, "Empty Response" },
-			{19, "Error Sending SMS" },
-            {20, "Invalid Captcha" },
-            {21, "Account Locked" },
-            {22, "Invalid File Type" },
-            {23, "No Vacation Balance" },
-            {24, "Email Not Exist" },
-            {25, "Phone Already Exist" },
-            {26, "User Not Exist" },
-            {27, "User already checked in" },
+            {ExceptionEnum.RecordNotExist, new Dictionary<string, string>
+            {
+                { "en", "Record Not Existed" },
+                { "ar", "السجل غير موجود" }
+            }},
+            {ExceptionEnum.ModelNotValid, new Dictionary<string, string>
+            {
+                { "en", "Model is not valid" },
+                { "ar", "النموذج غير صالح" }
+            }},
+            {ExceptionEnum.NotAuthorized, new Dictionary<string, string>
+            {
+                { "en", "Not Authorized" },
+                { "ar", "غير مصرح" }
+            }},
+            {ExceptionEnum.PropertyNotAccess, new Dictionary<string, string>
+            {
+                { "en", "A property called {0} can't be accessed for type {1}." },
+                { "ar", "الخاصية {0} لا يمكن الوصول إليها لنوع {1}." }
+            } },
+            {ExceptionEnum.WrongCredentials, new Dictionary<string, string>
+            {
+                { "en", "Username or password incorrect!" },
+                { "ar", "اسم المستخدم أو كلمة المرور غير صحيحة!" }
+            }},
+            {ExceptionEnum.RecordCannotBeDelete, new Dictionary<string, string>
+            {
+                { "en", "Cannot delete the user" },
+                { "ar", "لا يمكن حذف المستخدم" }
+            }},
+            {ExceptionEnum.RecordAlreadyExist, new Dictionary<string, string>
+            {
+                { "en", "Record is already existed!" },
+                { "ar", "السجل موجود بالفعل!" }
+            } },
+            {ExceptionEnum.RecordCreationFailed, new Dictionary<string, string>
+            {
+                { "en",  "Record creation failed! Please check the record details and try again." },
+                { "ar", "خطأ اثناء الإضافة برجاء مراجعة البيانات" }
+            } },
+            {ExceptionEnum.RecordUpdateFailed, new Dictionary<string, string>
+            {
+                { "en",  "Record update failed! Please check the record details and try again."},
+                { "ar", "خطأ اثناء التعديل برجاء مراجعة البيانات" }
+            } },
+            {ExceptionEnum.RecordDeleteFailed, new Dictionary<string, string>
+            {
+                { "en",  "Record delete failed!"},
+                { "ar", "خطأ اثناء الحذف" }
+            } },
+            {ExceptionEnum.RecordNameAlreadyExist, new Dictionary<string, string>
+            {
+                { "en",  "Record name already existed"},
+                { "ar", "الاسم موجود مسبقا" }
+            } },
+            {ExceptionEnum.RecordEmailAlreadyExist, new Dictionary<string, string>
+            {
+                { "en",   "Record email already existed"},
+                { "ar", "البريد الإلكتروني موجود مسبقا" }
+            } },
+            {ExceptionEnum.AttachmentsRequired, new Dictionary<string, string>
+            {
+                { "en",   "Attachment Required"},
+                { "ar", "المرفقات مطلوبة" }
+            }  },
+             {ExceptionEnum.CouldNotMoveFiles, new Dictionary<string, string>
+            {
+                { "en",   "Could Not Move Files"},
+                { "ar", "لا يمكن نقل الملفات" }
+            }   },
+            {ExceptionEnum.MapperIssue, new Dictionary<string, string>
+            {
+                { "en",  "Mapper Issue"},
+                { "ar", "مشكلة فى المطابقة" }
+            }   },
+            {ExceptionEnum.InCorrectFileLength, new Dictionary<string, string>
+            {
+                { "en",   "InCorrect File Length"},
+                { "ar", "حجم الملف غير مسموح به" }
+            }  },
+            {ExceptionEnum.WrongOTP, new Dictionary<string, string>
+            {
+                { "en",    "Wrong or expired OTP" },
+                { "ar", "كلمة السر المؤقتة غير صحيحة او منتهية الصلاحية" }
+            } },
+            {ExceptionEnum.EmptyResponse, new Dictionary<string, string>
+            {
+                { "en",   "Empty Response" },
+                { "ar", "رد فارغ" }
+            } },
+            {ExceptionEnum.ErrorSendingSMS, new Dictionary<string, string>
+            {
+                { "en",  "Error Sending SMS"},
+                { "ar", "خطأ في ارسال الرسالة النصية" }
+            }   },
+            {ExceptionEnum.InvalidCaptcha, new Dictionary<string, string>
+            {
+                { "en",   "Invalid Captcha" },
+                { "ar", "رمز خاطىء" }
+            } },
+            {ExceptionEnum.AccountLocked, new Dictionary<string, string>
+            {
+                { "en",    "Account Locked"},
+                { "ar", "الحساب موقوف" }
+            }  },
+            {ExceptionEnum.InvalidFileType, new Dictionary<string, string>
+            {
+                { "en",    "Invalid File Type" },
+                { "ar", "نوع الملف خطأ" }
+            } },
+            {ExceptionEnum.NoVacationBalance, new Dictionary<string, string>
+            {
+                { "en",   "No Vacation Balance" },
+                { "ar", "لا يوجد رصيد أجازات" }
+            } },
+            {ExceptionEnum.EmailNotExist, new Dictionary<string, string>
+            {
+                { "en",  "Email Not Exist" },
+                { "ar", "البريد الالكتروني غير موجود" }
+            }  },
+            {ExceptionEnum.RecordPhoneAlreadyExist, new Dictionary<string, string>
+            {
+                { "en",    "Phone Already Exist" },
+                { "ar", "رقم الهاتف موجود مسبقا" }
+            } },
+            {ExceptionEnum.UserNotExist, new Dictionary<string, string>
+            {
+                { "en",    "User Not Exist" },
+                { "ar", "المستخدم غير موجود" }
+            } },
+            {ExceptionEnum.UserAlreadyCheckedIn, new Dictionary<string, string>
+            {
+                { "en",   "User already checked in"},
+                { "ar", "تم تسجيل الحضور اليوم من قبل" }
+            }  },
 
         };
     }

+ 17 - 0
MTWorkHR.Core/Global/Enum/ContractDurationEnum.cs

@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace MTWorkHR.Core.Global
+{
+    public enum ContractDurationEnum
+    {
+        Monthly = 1,
+        Quarterly = 2,
+        SemiAnnually = 3,
+        Quarters3 = 4,
+        Annually = 5
+    }
+}

+ 1 - 1
MTWorkHR.Core/Global/GlobalInfo.cs

@@ -12,7 +12,7 @@ namespace MTWorkHR.Core.Global
         public string UserId { get; set; }
         public UserTypeEnum UserType { get; set; }
         public long? CompanyId { get; set; }
-        public static string lang { get; set; }
+        public static string lang { get; set; } = "en";
         public string Token { get; set; }
 
         public void SetValues(string UserName, string UserId, long? CompanyId, string token, string lang)

File diff suppressed because it is too large
+ 5698 - 0
MTWorkHR.Infrastructure/Migrations/20241110132939_altrUserRoles.Designer.cs


+ 26 - 0
MTWorkHR.Infrastructure/Migrations/20241110132939_altrUserRoles.cs

@@ -0,0 +1,26 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace MTWorkHR.Infrastructure.Migrations
+{
+    /// <inheritdoc />
+    public partial class altrUserRoles : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            var sqlStm = @"Insert into AspNetUserRoles select Id, 'BS5B3B92-2311-48F8-9DEC-F9FAEF1F2110' from AspNetUsers where UserType=3";
+
+          
+            migrationBuilder.Sql(sqlStm);
+
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+
+        }
+    }
+}

File diff suppressed because it is too large
+ 5701 - 0
MTWorkHR.Infrastructure/Migrations/20241112095808_altrContractDura.Designer.cs


+ 81 - 0
MTWorkHR.Infrastructure/Migrations/20241112095808_altrContractDura.cs

@@ -0,0 +1,81 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace MTWorkHR.Infrastructure.Migrations
+{
+    /// <inheritdoc />
+    public partial class altrContractDura : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "JobTitleId",
+                table: "Contracts");
+
+            migrationBuilder.AddColumn<string>(
+                name: "JobTitleName",
+                table: "Contracts",
+                type: "nvarchar(max)",
+                nullable: true);
+
+            migrationBuilder.AddColumn<int>(
+                name: "WorkingHoursNum",
+                table: "Contracts",
+                type: "int",
+                nullable: false,
+                defaultValue: 0);
+
+            migrationBuilder.AlterColumn<decimal>(
+                name: "EntitlementPercent",
+                table: "ContractAllowance",
+                type: "decimal(18,2)",
+                nullable: false,
+                oldClrType: typeof(long),
+                oldType: "bigint");
+
+            migrationBuilder.AlterColumn<decimal>(
+                name: "EntitlementAmount",
+                table: "ContractAllowance",
+                type: "decimal(18,2)",
+                nullable: false,
+                oldClrType: typeof(long),
+                oldType: "bigint");
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "JobTitleName",
+                table: "Contracts");
+
+            migrationBuilder.DropColumn(
+                name: "WorkingHoursNum",
+                table: "Contracts");
+
+            migrationBuilder.AddColumn<int>(
+                name: "JobTitleId",
+                table: "Contracts",
+                type: "int",
+                nullable: true);
+
+            migrationBuilder.AlterColumn<long>(
+                name: "EntitlementPercent",
+                table: "ContractAllowance",
+                type: "bigint",
+                nullable: false,
+                oldClrType: typeof(decimal),
+                oldType: "decimal(18,2)");
+
+            migrationBuilder.AlterColumn<long>(
+                name: "EntitlementAmount",
+                table: "ContractAllowance",
+                type: "bigint",
+                nullable: false,
+                oldClrType: typeof(decimal),
+                oldType: "decimal(18,2)");
+        }
+    }
+}

+ 9 - 6
MTWorkHR.Infrastructure/Migrations/HRDataContextModelSnapshot.cs

@@ -611,8 +611,8 @@ namespace MTWorkHR.Infrastructure.Migrations
                         .HasMaxLength(150)
                         .HasColumnType("nvarchar(150)");
 
-                    b.Property<int?>("JobTitleId")
-                        .HasColumnType("int");
+                    b.Property<string>("JobTitleName")
+                        .HasColumnType("nvarchar(max)");
 
                     b.Property<int>("NoticePeriodBeforeTermination")
                         .HasColumnType("int");
@@ -670,6 +670,9 @@ namespace MTWorkHR.Infrastructure.Migrations
                     b.Property<int>("WorkingHours")
                         .HasColumnType("int");
 
+                    b.Property<int>("WorkingHoursNum")
+                        .HasColumnType("int");
+
                     b.HasKey("Id");
 
                     b.HasIndex("CompanyId");
@@ -704,11 +707,11 @@ namespace MTWorkHR.Infrastructure.Migrations
                         .HasColumnType("nvarchar(450)")
                         .HasColumnOrder(1);
 
-                    b.Property<long>("EntitlementAmount")
-                        .HasColumnType("bigint");
+                    b.Property<decimal>("EntitlementAmount")
+                        .HasColumnType("decimal(18,2)");
 
-                    b.Property<long>("EntitlementPercent")
-                        .HasColumnType("bigint");
+                    b.Property<decimal>("EntitlementPercent")
+                        .HasColumnType("decimal(18,2)");
 
                     b.Property<int>("PaymentType")
                         .HasColumnType("int");