public IActionResult AddProfile([FromBody] Profile ProfileData)
        {
            try
            {
                if (ProfileData == null)
                {
                    return(BadRequest("حذث خطأ في ارسال البيانات الرجاء إعادة الادخال"));
                }

                var userId = this.help.GetCurrentUser(HttpContext);

                if (userId <= 0)
                {
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }

                ProfileData.CreatedBy  = userId;
                ProfileData.CreatedOn  = DateTime.Now;
                ProfileData.Status     = 2;
                ProfileData.IsActivate = 0;
                db.Profile.Add(ProfileData);
                db.SaveChanges();

                return(Ok("لـقد تم تسجيل ملف الانتخابات بنـجاح"));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
        public IActionResult Delete(long id)
        {
            try
            {
                UserProfile UP = this.help.GetProfileId(HttpContext, db);
                if (UP.UserId <= 0)
                {
                    return(StatusCode(401, new { message = "الرجاء الـتأكد من أنك قمت بتسجيل الدخول" }));
                }
                if (UP.ProfileId <= 0)
                {
                    return(StatusCode(401, new { message = "الرجاء تفعيل ضبط الملف الانتخابي التشغيلي" }));
                }

                var Chair = db.Chairs.Where(x => x.ChairId == id && x.ProfileId == UP.ProfileId).SingleOrDefault();

                if (Chair == null)
                {
                    return(NotFound("خــطأ : لا يمكن اجراء العملية المقعد غير موجود"));
                }

                Chair.Status     = 9;
                Chair.ModifiedBy = UP.UserId;
                Chair.ModifiedOn = DateTime.Now;

                db.SaveChanges();
                return(Ok("تــم حذف المقعد بنـجاح"));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
        public IActionResult deleteOffice(long id)
        {
            try
            {
                UserProfile UP = this.help.GetProfileId(HttpContext, db);
                if (UP.UserId <= 0)
                {
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }
                if (UP.ProfileId <= 0)
                {
                    return(StatusCode(401, "الرجاء تفعيل ضبط الملف الانتخابي التشغيلي"));
                }

                var office = db.Offices.Where(x => x.OfficeId == id).SingleOrDefault();

                if (office == null)
                {
                    return(NotFound("خــطأ : لا يمكن اجراء العملية المكتب غير موجود"));
                }

                office.Status     = 9;
                office.ModifiedBy = UP.UserId;
                office.ModifiedOn = DateTime.Now;

                db.SaveChanges();
                return(Ok("تــم حذف المكتب الإنتخابي بنـجاح"));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
Пример #4
0
        public IActionResult CreateStations([FromBody] Stations stations)
        {
            try
            {
                UserProfile UP = this.help.GetProfileId(HttpContext, db);
                if (UP.UserId <= 0)
                {
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }
                if (UP.ProfileId <= 0)
                {
                    return(StatusCode(401, "الرجاء تفعيل ضبط الملف الانتخابي التشغيلي"));
                }

                var userId = this.help.GetCurrentUser(HttpContext);

                if (userId <= 0)
                {
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }

                if (stations.CenterId == null)
                {
                    return(BadRequest("الرجاء إختيار المركز"));
                }

                if (string.IsNullOrEmpty(stations.ArabicName) || string.IsNullOrWhiteSpace(stations.ArabicName))
                {
                    return(BadRequest("الرجاء إدخال اسم المحطة بالعربي"));
                }

                if (string.IsNullOrEmpty(stations.EnglishName) || string.IsNullOrWhiteSpace(stations.EnglishName))
                {
                    return(BadRequest("الرجاء إدخال اسم المحطة بالانجليزي"));
                }

                var newStation = new Stations
                {
                    ArabicName  = stations.ArabicName,
                    EnglishName = stations.EnglishName,
                    Description = stations.Description,
                    CenterId    = stations.CenterId,
                    ProfileId   = UP.ProfileId,
                    CreatedBy   = userId,
                    CreatedOn   = DateTime.Now,
                    Status      = 1
                };

                db.Stations.Add(newStation);
                db.SaveChanges();

                return(Ok(string.Format("تم إضافة المحطة {0} بنجاح", newStation.ArabicName)));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
        public IActionResult CreateConstituency([FromBody] Constituencies constituency)
        {
            try
            {
                if (constituency == null)
                {
                    return(BadRequest("حدث خطأ في ارسال البيانات الرجاء إعادة الادخال"));
                }

                UserProfile UP = this.help.GetProfileId(HttpContext, db);
                if (UP.UserId <= 0)
                {
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }
                if (UP.ProfileId <= 0)
                {
                    return(StatusCode(401, "الرجاء تفعيل ضبط الملف الانتخابي التشغيلي"));
                }


                if (constituency.RegionId == null)
                {
                    return(BadRequest("الرجاء إختيار المنطقة"));
                }

                if (string.IsNullOrEmpty(constituency.ArabicName) || string.IsNullOrWhiteSpace(constituency.ArabicName))
                {
                    return(BadRequest("الرجاء إدخال اسم المنطقة بالعربي"));
                }

                if (string.IsNullOrEmpty(constituency.EnglishName) || string.IsNullOrWhiteSpace(constituency.EnglishName))
                {
                    return(BadRequest("الرجاء إدخال اسم المنطقة بالانجليزي"));
                }

                var newConstituency = new Constituencies
                {
                    ArabicName  = constituency.ArabicName,
                    EnglishName = constituency.EnglishName,
                    RegionId    = constituency.RegionId,
                    Description = constituency.Description,
                    OfficeId    = constituency.OfficeId,
                    CreatedBy   = UP.UserId,
                    CreatedOn   = DateTime.Now,
                    Status      = 1,
                    ProfileId   = UP.ProfileId
                };

                db.Constituencies.Add(newConstituency);
                db.SaveChanges();
                return(Ok(new { ResponseCode = 9, ResponseMsg = new { constituencyId = newConstituency.ConstituencyId, message = string.Format("تم إضافة الدائر الرئيسية {0} بنجاح", newConstituency.ArabicName) } }));
            }
            catch
            {
                return(StatusCode(500, "حدث خطاء، حاول مجدداً"));
            }
        }
Пример #6
0
        public IActionResult GetNationalIdBasedOn([FromRoute] string nationalId)
        {
            try
            {
                var userId = this.help.GetCurrentUser(HttpContext);

                if (userId <= 0)
                {
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }

                if (string.IsNullOrEmpty(nationalId) || string.IsNullOrWhiteSpace(nationalId))
                {
                    return(BadRequest(new { message = "الرجاء التأكد من إدخال الرقم الوطني" }));
                }

                //if (!int.TryParse(nationalId.Trim(), out _))
                //{
                //    return BadRequest(new { message = "الرقم الوطني يجب يتكون من أرقام فقط" });
                //}

                if (nationalId.Length != 12)
                {
                    return(BadRequest(new { message = "الرقم الوطني يتكون من 12 رقماً" }));
                }

                var candidate = db.Candidates.Where(x => x.Nid == nationalId).FirstOrDefault();

                if (candidate == null)
                {
                    candidate = new Candidates
                    {
                        Levels    = 1,
                        Nid       = nationalId,
                        CreatedOn = DateTime.Now,
                        CreatedBy = userId
                    };
                    db.Candidates.Add(candidate);
                    db.SaveChanges();
                    return(Ok(new { message = "", level = candidate.Levels, candidate.Nid }));
                }
                else
                {
                    return(Ok(new { level = candidate.Levels, candidate.Nid }));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(500, new { ex = ex.InnerException.Message, message = "حدث خطاء، حاول مجدداً" }));
            }
        }
        public IActionResult CreateConstituency([FromBody] ConstituencyDetails constituencyDetails)
        {
            try
            {
                if (constituencyDetails == null)
                {
                    return(BadRequest(new { message = "حدث خطأ في ارسال البيانات الرجاء إعادة الادخال" }));
                }

                if (constituencyDetails.RegionId == null)
                {
                    return(BadRequest(new { message = "الرجاء إختيار المنطقة" }));
                }

                if (constituencyDetails.ConstituencyId == 0)
                {
                    return(BadRequest(new { message = "الرجاء إختيار المنطقة الرئيسية" }));
                }

                if (string.IsNullOrEmpty(constituencyDetails.ArabicName) || string.IsNullOrWhiteSpace(constituencyDetails.ArabicName))
                {
                    return(BadRequest(new { message = "الرجاء إدخال اسم المنطقة الفرعية بالعربي" }));
                }

                if (string.IsNullOrEmpty(constituencyDetails.EnglishName) || string.IsNullOrWhiteSpace(constituencyDetails.EnglishName))
                {
                    return(BadRequest(new { message = "الرجاء إدخال اسم المنطقة الفرعية بالانجليزي" }));
                }

                var newConstituencyDetails = new ConstituencyDetails
                {
                    ArabicName     = constituencyDetails.ArabicName,
                    EnglishName    = constituencyDetails.EnglishName,
                    ConstituencyId = constituencyDetails.ConstituencyId,
                    RegionId       = constituencyDetails.RegionId,
                    Description    = constituencyDetails.Description,
                    CreatedOn      = DateTime.Now,
                    Status         = 1
                };

                db.ConstituencyDetails.Add(newConstituencyDetails);
                db.SaveChanges();


                return(Ok(new { constituencyId = newConstituencyDetails.ConstituencyId, message = string.Format("تم إضافة الدائر الفرعية {0} بنجاح", newConstituencyDetails.ArabicName) }));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, new { ex = ex.InnerException.Message, message = "حدث خطاء، حاول مجدداً" }));
            }
        }
Пример #8
0
        public IActionResult CreateConstituency([FromBody] Constituencies constituency)
        {
            try
            {
                if (constituency == null)
                {
                    return(BadRequest(new { message = "حدث خطأ في ارسال البيانات الرجاء إعادة الادخال" }));
                }
                if (constituency.RegionId == null)
                {
                    return(BadRequest(new { message = "الرجاء إختيار المنطقة" }));
                }

                if (string.IsNullOrEmpty(constituency.ArabicName) || string.IsNullOrWhiteSpace(constituency.ArabicName))
                {
                    return(BadRequest(new { message = "الرجاء إدخال اسم المنطقة بالعربي" }));
                }

                if (string.IsNullOrEmpty(constituency.EnglishName) || string.IsNullOrWhiteSpace(constituency.EnglishName))
                {
                    return(BadRequest(new { message = "الرجاء إدخال اسم المنطقة بالانجليزي" }));
                }

                var newConstituency = new Constituencies
                {
                    ArabicName  = constituency.ArabicName,
                    EnglishName = constituency.EnglishName,
                    RegionId    = constituency.RegionId,
                    Description = constituency.Description,
                    OfficeId    = constituency.OfficeId,
                    CreatedBy   = constituency.CreatedBy,
                    CreatedOn   = DateTime.Now,
                    Status      = 1
                };

                db.Constituencies.Add(newConstituency);
                db.SaveChanges();


                return(Ok(new { constituencyId = newConstituency.ConstituencyId, message = string.Format("تم إضافة الدائر الرئيسية {0} بنجاح", newConstituency.ArabicName) }));
            }
            catch
            {
                return(StatusCode(500, new { message = "حدث خطاء، حاول مجدداً" }));
            }
        }
Пример #9
0
        public ActionResult Developer(CandidatesModel model)
        {
            if (ModelState.IsValid)
            {
                db.Candidates.Add(model.Candidates);
                model.OccupationArea  = OccupationArea(model);
                model.InformationBank = InformationBank(model);
                model.Knowledge       = Knowledge(model);

                db.SaveChanges();

                TempData["Candidates"] = model.Candidates;

                return(RedirectToAction("Edit", "Homeoffice"));
            }

            return(View(model));
        }
Пример #10
0
 public async void CreateAsync(SkillShortDTO skillDTO)
 {
     if (await _context.Database.EnsureCreatedAsync())
     {
         var skill = Mapper.Map <SkillShortDTO, Skill>(skillDTO);
         _context.Skills.Add(skill);
         _context.SaveChanges();
     }
 }
Пример #11
0
        public async void CreateAsync(LanguageShortDTO languageDTO)
        {
            if (await _context.Database.EnsureCreatedAsync())
            {
                var language = Mapper.Map <LanguageShortDTO, Language>(languageDTO);
                await _context.Languages.AddAsync(language);

                _context.SaveChanges();
            }
        }
        public IActionResult AddRegion([FromBody] Regions RegionData)
        {
            try
            {
                if (RegionData == null)
                {
                    return(BadRequest("حذث خطأ في ارسال البيانات الرجاء إعادة الادخال"));
                }
                if (string.IsNullOrWhiteSpace(RegionData.ArabicName))
                {
                    return(BadRequest("الرجاء إدخال اسم المنطقة بالعربي"));
                }

                if (string.IsNullOrWhiteSpace(RegionData.EnglishName))
                {
                    return(BadRequest("الرجاء إدخال اسم المنطقة بالانجليزي"));
                }

                var userId = this.help.GetCurrentUser(HttpContext);

                if (userId <= 0)
                {
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }

                RegionData.CreatedBy = userId;
                RegionData.CreatedOn = DateTime.Now;
                RegionData.Status    = 1;
                db.Regions.Add(RegionData);
                db.SaveChanges();

                return(Ok("لـقد تم تسجيل المنطقـة بنـجاح"));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
Пример #13
0
        public ActionResult DeleteConfirmed(int id)
        {
            Candidates      candidates       = db.Candidates.Find(id);
            OccupationArea  occupationArea   = db.OccupationArea.Find(id);
            InformationBank informationBanks = db.InformationBank.Find(id);
            Knowledge       knowledge        = db.Knowledge.Find(id);

            model.Candidates      = candidates;
            model.OccupationArea  = occupationArea;
            model.InformationBank = informationBanks;
            model.Knowledge       = knowledge;



            db.Candidates.Remove(model.Candidates);
            db.OccupationArea.Remove(model.OccupationArea);
            db.InformationBank.Remove(model.InformationBank);
            db.Knowledge.Remove(model.Knowledge);

            db.SaveChanges();

            return(RedirectToAction("Talents"));
        }
        public IActionResult AddEntity([FromBody] Entities Entity)
        {
            try
            {
                if (Entity == null)
                {
                    return(BadRequest("حذث خطأ في ارسال البيانات الرجاء إعادة الادخال"));
                }

                UserProfile UP = this.help.GetProfileId(HttpContext, db);
                if (UP.UserId <= 0)
                {
                    return(StatusCode(401, new { message = "الرجاء الـتأكد من أنك قمت بتسجيل الدخول" }));
                }
                if (UP.ProfileId <= 0)
                {
                    return(StatusCode(401, new { message = "الرجاء تفعيل ضبط الملف الانتخابي التشغيلي" }));
                }

                if (string.IsNullOrWhiteSpace(Entity.Email))
                {
                    return(StatusCode(404, "الرجاء إدخال البريد الالكتروني"));
                }
                if (!Common.Validation.IsValidEmail(Entity.Email))
                {
                    return(StatusCode(404, "الرجاء التأكد من البريد الإلكتروني"));
                }
                if (string.IsNullOrWhiteSpace(Entity.Phone))
                {
                    return(StatusCode(404, "الرجاء إدخال رقم الهاتف"));
                }
                if (string.IsNullOrWhiteSpace(Entity.Phone))
                {
                    return(StatusCode(404, "الرجاء إدخال رقم الهاتف"));
                }
                if (Entity.Phone.Length < 9)
                {
                    return(StatusCode(404, "الرجاء إدخال الهـاتف بطريقة الصحيحة !!"));
                }
                Entity.Phone = Entity.Phone.Substring(Entity.Phone.Length - 9);

                if (Entity.Phone.Substring(0, 2) != "91" && Entity.Phone.Substring(0, 2) != "92" && Entity.Phone.Substring(0, 2) != "94")
                {
                    return(StatusCode(404, "يجب ان يكون الهاتف يبدأ ب (91,92,94) ليبيانا او المدار !!"));
                }



                var NameExist = db.Entities.Where(x => x.Name == Entity.Name && x.Status != 9).SingleOrDefault();
                if (NameExist != null)
                {
                    return(BadRequest("اسم الكيان موجود مسبقا الرجاء إعادة الادخال"));
                }

                var NumberExist = db.Entities.Where(x => x.Number == Entity.Number && x.Status != 9).SingleOrDefault();
                if (NumberExist != null)
                {
                    return(BadRequest("رقم الكيان موجود مسبقا الرجاء إعادة الادخال"));
                }

                var PhoneExist = db.Entities.Where(x => x.Phone == Entity.Phone && x.Status != 9).SingleOrDefault();
                if (PhoneExist != null)
                {
                    return(BadRequest("رقم الهاتف موجود مسبقا الرجاء إعادة الادخال"));
                }

                var EmailExist = db.Entities.Where(x => x.Email == Entity.Email && x.Status != 9).SingleOrDefault();
                if (EmailExist != null)
                {
                    return(BadRequest("البريد الإلكتروني موجود مسبقا الرجاء إعادة الادخال"));
                }


                Entity.CreatedBy = UP.UserId;
                Entity.ProfileId = UP.ProfileId;
                Entity.CreatedOn = DateTime.Now;
                db.Entities.Add(Entity);
                db.SaveChanges();

                return(Ok(" تم اضافة الكيان السياسي  بنـجاح"));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
        public IActionResult CreateConstituency([FromBody] ConstituencyDetails constituencyDetails)
        {
            try
            {
                UserProfile UP = this.help.GetProfileId(HttpContext, db);
                if (UP.UserId <= 0)
                {
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }
                if (UP.ProfileId <= 0)
                {
                    return(StatusCode(401, "الرجاء تفعيل ضبط الملف الانتخابي التشغيلي"));
                }

                if (constituencyDetails == null)
                {
                    return(BadRequest("حدث خطأ في ارسال البيانات الرجاء إعادة الادخال"));
                }

                if (constituencyDetails.RegionId == null)
                {
                    return(BadRequest("الرجاء إختيار المنطقة"));
                }

                if (constituencyDetails.ConstituencyId == 0)
                {
                    return(BadRequest("الرجاء إختيار المنطقة الرئيسية"));
                }

                if (string.IsNullOrEmpty(constituencyDetails.ArabicName) || string.IsNullOrWhiteSpace(constituencyDetails.ArabicName))
                {
                    return(BadRequest("الرجاء إدخال اسم المنطقة الفرعية بالعربي"));
                }

                if (string.IsNullOrEmpty(constituencyDetails.EnglishName) || string.IsNullOrWhiteSpace(constituencyDetails.EnglishName))
                {
                    return(BadRequest("الرجاء إدخال اسم المنطقة الفرعية بالانجليزي"));
                }

                var newConstituencyDetails = new ConstituencyDetails
                {
                    ArabicName     = constituencyDetails.ArabicName,
                    EnglishName    = constituencyDetails.EnglishName,
                    ConstituencyId = constituencyDetails.ConstituencyId,
                    RegionId       = constituencyDetails.RegionId,
                    Description    = constituencyDetails.Description,
                    ProfileId      = UP.ProfileId,
                    CreatedOn      = DateTime.Now,
                    CreatedBy      = UP.UserId,
                    Status         = 1
                };

                db.ConstituencyDetails.Add(newConstituencyDetails);
                db.SaveChanges();


                return(Ok(new { constituencyId = newConstituencyDetails.ConstituencyId, message = string.Format("تم إضافة الدائر الفرعية {0} بنجاح", newConstituencyDetails.ArabicName) }));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
Пример #16
0
        public async Task <IActionResult> loginUser([FromBody] user loginUser)
        {
            try
            {
                if (loginUser == null)
                {
                    return(NotFound("الرجاء ادخال البريد الالكتروني او اسم الدخول"));
                }

                //if (!Validation.IsValidEmail(loginUser.Email))
                //{
                //    return BadRequest("Please enter correct email address");
                //}
                if (string.IsNullOrWhiteSpace(loginUser.Email))
                {
                    return(BadRequest("الرجاء ادخال البريد الالكتروني او اسم الدخول"));
                }

                if (string.IsNullOrWhiteSpace(loginUser.Password))
                {
                    return(BadRequest("الرجاء ادخال كلمه المرور"));
                }

                var cUser = (from p in db.Users
                             where (p.Email == loginUser.Email || p.LoginName == loginUser.Email) && p.Status != 9
                             select p).SingleOrDefault();

                if (cUser == null)
                {
                    return(NotFound("الرجاء التاكد من البريد الالكتروني وكلمة المرور"));
                }

                if (cUser.UserType != 1 && cUser.UserType != 2 && cUser.UserType != 3)
                {
                    return(BadRequest("ليس لديك صلاحيه للدخول علي النظام"));
                }

                if (cUser.Status == 0)
                {
                    return(BadRequest("حسابك غير مفعل"));
                }
                if (cUser.Status == 2)
                {
                    if (cUser.LoginTryAttemptDate != null)
                    {
                        DateTime dt     = (DateTime)cUser.LoginTryAttemptDate;
                        double   minuts = 30;
                        dt = dt.AddMinutes(minuts);
                        if (dt >= DateTime.Now)
                        {
                            return(BadRequest("لايمكنك الدخول للنظام: تم ايقافك"));
                        }
                        else
                        {
                            cUser.Status = 1;

                            db.SaveChanges();
                        }
                    }
                    else
                    {
                        return(BadRequest("لايمكنك الدخول للنظام: تم ايقافك"));
                    }
                }

                if (!Security.VerifyHash(loginUser.Password, cUser.Password, HashAlgorithms.SHA512))
                {
                    cUser.LoginTryAttempts++;
                    if (cUser.LoginTryAttempts >= 5 && cUser.Status == 1)
                    {
                        cUser.LoginTryAttemptDate = DateTime.Now;
                        cUser.Status = 2;
                    }
                    db.SaveChanges();
                    return(NotFound("الرجاء التاكد من البريد الالكتروني وكلمة المرور"));
                }
                //string hospital = "";
                //if (cUser.UserType == 5 && cUser.HospitalId != null && cUser.HospitalId>0)
                //{
                //    hospital = db.Hospital.Where(x => x.HospitalId == cUser.HospitalId).SingleOrDefault().Name;
                //}

                cUser.LoginTryAttempts = 0;
                cUser.LastLoginOn      = DateTime.Now;
                db.SaveChanges();
                long branchId = -1;
                // int branchType = -1;
                string brancheName = "";

                if (cUser.UserType == 1)
                {
                    // branchType = (int)cUser.Office.OfficeType;

                    //     if (officeType==1)
                    //     {
                    //          issusId = db.Offices.AsEnumerable().Where(x => x.OfficeIndexId == officeId)
                    //.Select(r => (long?)r.OfficeId)
                    //.ToArray();

                    //          CivilId = db.Offices.AsEnumerable().Where(x => issusId.ToList().Contains(x.OfficeIndexId))
                    //     .Select(r => (long?)r.OldOfficeId)
                    //     .ToArray();
                    //     } else if(officeType == 2)
                    //     {
                    //          CivilId = db.Offices.AsEnumerable().Where(x => x.OfficeIndexId == officeId)
                    //    .Select(r => (long?)r.OldOfficeId).ToArray();

                    //     }
                    //     else {
                    //         CivilId = db.Offices.AsEnumerable().Where(x => x.OfficeId == officeId)
                    // .Select(r => (long?)r.OldOfficeId).ToArray();
                    //     }
                }
                var userInfo = new
                {
                    userId   = cUser.Id,
                    fullName = cUser.Name,
                    userType = cUser.UserType,
                    branchId = branchId,
                    // officeType = officeType,
                    brancheName = brancheName,
                    LoginName   = cUser.LoginName,
                    DateOfBirth = cUser.BirthDate,
                    Email       = cUser.Email,
                    //cUser.Office.OfficeName,
                    Gender = cUser.Gender,
                    Status = cUser.Status,
                    Phone  = cUser.Phone
                };

                const string Issuer = "http://www.nid.ly";
                var          claims = new List <Claim>();
                claims.Add(new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/id", cUser.Id.ToString(), ClaimValueTypes.Integer64, Issuer));
                claims.Add(new Claim(ClaimTypes.Name, cUser.Name, ClaimValueTypes.String, Issuer));
                //claims.Add(new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/OfficeId", cUser.BranchId.ToString(), ClaimValueTypes.Integer64, Issuer));
                claims.Add(new Claim("userType", cUser.UserType.ToString(), ClaimValueTypes.Integer32, Issuer));
                var userIdentity = new ClaimsIdentity("thisisasecreteforauth");
                userIdentity.AddClaims(claims);
                var userPrincipal = new ClaimsPrincipal(userIdentity);

                await HttpContext.SignInAsync(
                    CookieAuthenticationDefaults.AuthenticationScheme,
                    userPrincipal,
                    new AuthenticationProperties
                {
                    ExpiresUtc   = DateTime.UtcNow.AddHours(1),
                    IsPersistent = true,
                    AllowRefresh = true
                });

                return(Ok(userInfo));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
        public IActionResult AddUser([FromBody] UsersObject user)
        {
            try
            {
                var userId = this.help.GetCurrentUser(HttpContext);

                if (string.IsNullOrWhiteSpace(user.LoginName))
                {
                    return(BadRequest("الرجاء ادحال اسم المسنخدم بطريقة صحيحة"));
                }

                if (string.IsNullOrWhiteSpace(user.FullName))
                {
                    return(BadRequest("الرجاء إدخال الاسم الرباعي"));
                }

                if (!Validation.IsValidEmail(user.Email))
                {
                    return(BadRequest("الرجاء ادخال الايميل بالطريقة الصحيحة"));
                }

                if (user.Gender != 1 && user.Gender != 2)
                {
                    return(BadRequest("الرجاء ادخال الجنس (ذكر - انثي)"));
                }
                if (string.IsNullOrWhiteSpace(user.DateOfBirth.ToString()))
                {
                    return(BadRequest("الرجاء دخال تاريخ الميلاد المستخدم"));
                }
                if ((DateTime.Now.Year - user.DateOfBirth.Year) < 18)
                {
                    return(BadRequest("يجب ان يكون عمر المستخدم اكبر من 18"));
                }

                var cLoginName = (from u in db.Users
                                  where u.LoginName == user.LoginName
                                  select u).SingleOrDefault();
                if (cLoginName != null)
                {
                    return(BadRequest(" اسم الدخول موجود مسبقا"));
                }


                var cPhone = (from u in db.Users
                              where u.Phone == user.Phone
                              select u).SingleOrDefault();
                if (cPhone != null)
                {
                    return(BadRequest(" رقم الهاتف موجود مسبقا"));
                }

                var cUser = (from u in db.Users
                             where u.Email == user.Email && u.Status != 9
                             select u).SingleOrDefault();

                if (cUser != null)
                {
                    if (cUser.Status == 0)
                    {
                        return(BadRequest("هدا المستخدم موجود من قبل يحتاج الي تقعيل الحساب فقط"));
                    }
                    if (cUser.Status == 1 || cUser.Status == 2)
                    {
                        return(BadRequest("هدا المستخدم موجود من قبل يحتاج الي دخول فقط"));
                    }
                }

                cUser = new Users();


                cUser.Phone            = user.Phone;
                cUser.LoginName        = user.LoginName;
                cUser.Name             = user.FullName;
                cUser.Email            = user.Email;
                cUser.BirthDate        = user.DateOfBirth;
                cUser.CreatedBy        = userId;
                cUser.CreatedOn        = DateTime.Now;
                cUser.Gender           = (short)user.Gender;
                cUser.LoginTryAttempts = 0;
                cUser.UserType         = user.UserType;
                cUser.Password         = Security.ComputeHash(user.Password, HashAlgorithms.SHA512, null);
                if (user.Photo == null)
                {
                    cUser.Image = Convert.
                                  FromBase64String("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////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0EAAAAAAAAAgAAOEJJTQQCAAAAAAACAAA4QklNBDAAAAAAAAEBADhCSU0ELQAAAAAABgABAAAAAjhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAAOEJJTQQaAAAAAANJAAAABgAAAAAAAAAAAAAAjAAAAIwAAAAKAFUAbgB0AGkAdABsAGUAZAAtADEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAIwAAACMAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAACMAAAAAFJnaHRsb25nAAAAjAAAAAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURsb25nAAAAAAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAANYXV0b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAjAAAAABSZ2h0bG9uZwAAAIwAAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAAAABNc2dlVEVYVAAAAAEAAAAAAAZhbHRUYWdURVhUAAAAAQAAAAAADmNlbGxUZXh0SXNIVE1MYm9vbAEAAAAIY2VsbFRleHRURVhUAAAAAQAAAAAACWhvcnpBbGlnbmVudW0AAAAPRVNsaWNlSG9yekFsaWduAAAAB2RlZmF1bHQAAAAJdmVydEFsaWduZW51bQAA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IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNy0xMi0wMVQxOTozNDoxNyswMjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxNy0xMi0wMVQxOTozNDoxNyswMjowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTctMTItMDFUMTk6MzQ6MTcrMDI6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MmE0MzNlNTUtNzk5ZC00NTRlLWI1ZTUtYWIwNjFmOTUwNThhIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZDM3ZThiZTYtZDZiZC0xMWU3LWIxNWEtOTViY2JlMzViMTFhIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZjMzZTk0OWItYWNkYi04MjQxLWIxNTctNDgwNDEyMDdkMzNmIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZjMzZTk0OWItYWNkYi04MjQxLWIxNTctNDgwNDEyMDdkMzNmIiBzdEV2dDp3aGVuPSIyMDE3LTEyLTAxVDE5OjM0OjE3KzAyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjJhNDMzZTU1LTc5OWQtNDU0ZS1iNWU1LWFiMDYxZjk1MDU4YSIgc3RFdnQ6d2hlbj0iMjAxNy0xMi0wMVQxOTozNDoxNyswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3Ij8+/+IMWElDQ19QUk9GSUxFAAEBAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAEAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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");
                }
                else
                {
                    cUser.Image = Convert.FromBase64String(user.Photo.Substring(user.Photo.IndexOf(",") + 1));
                }
                cUser.CreatedOn = DateTime.Now;

                //1- Active
                //2- locked
                //9- deleted not exist
                cUser.Status = 0;
                db.Users.Add(cUser);

                db.SaveChanges();
                return(Ok("تم تسجيل المستخدم بنجاح , الحساب غير مفعل الأن"));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
Пример #18
0
        public IActionResult CreateCenter([FromBody] Centers center)
        {
            try
            {
                if (center == null)
                {
                    return(BadRequest(new { message = "حدث خطأ في ارسال البيانات الرجاء إعادة الادخال" }));
                }
                if (center.ConstituencDetailId == null)
                {
                    return(BadRequest(new { message = "الرجاء إختيار المنطقة الفرعية" }));
                }

                if (string.IsNullOrEmpty(center.ArabicName) || string.IsNullOrWhiteSpace(center.ArabicName))
                {
                    return(BadRequest(new { message = "الرجاء إدخال اسم المنطقة بالعربي" }));
                }

                if (string.IsNullOrEmpty(center.EnglishName) || string.IsNullOrWhiteSpace(center.EnglishName))
                {
                    return(BadRequest(new { message = "الرجاء إدخال اسم المنطقة بالانجليزي" }));
                }



                var userId = this.help.GetCurrentUser(HttpContext);

                if (userId <= 0)
                {
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }



                var newCenter = new Centers
                {
                    ArabicName          = center.ArabicName,
                    EnglishName         = center.EnglishName,
                    ConstituencDetailId = center.ConstituencDetailId,
                    OfficeId            = center.OfficeId,
                    Description         = center.Description,
                    Longitude           = center.Longitude,
                    Latitude            = center.Latitude,
                    CreatedBy           = userId,
                    CreatedOn           = DateTime.Now,
                    Status = 1
                };
                db.Centers.Add(newCenter);
                db.SaveChanges();
                if (center.Stations.Count > 0)
                {
                    Stations stations;
                    foreach (var station in center.Stations)
                    {
                        stations = new Stations
                        {
                            ArabicName  = station.ArabicName,
                            EnglishName = station.EnglishName,
                            Description = station.Description,
                            CenterId    = newCenter.CenterId,
                            CreatedBy   = userId,
                            CreatedOn   = DateTime.Now,
                            Status      = 1
                        };

                        db.Stations.Add(stations);
                    }
                }
                db.SaveChanges();


                return(Ok(new { newCenter.CenterId, message = string.Format("تم إضافة المركز  {0} بنجاح", newCenter.ArabicName) }));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, new { ex = ex.InnerException.Message, message = "حدث خطاء، حاول مجدداً" }));
            }
        }
        public IActionResult NewEndorsement(Endorsement endorsement)
        {
            try
            {
                UserProfile UP = this.help.GetProfileId(HttpContext, db);
                if (UP.UserId <= 0)
                {
                    return(StatusCode(401, new { message = "الرجاء الـتأكد من أنك قمت بتسجيل الدخول" }));
                }
                if (UP.ProfileId <= 0)
                {
                    return(StatusCode(401, new { message = "الرجاء تفعيل ضبط الملف الانتخابي التشغيلي" }));
                }

                var profile = db.Profile.Where(x => x.ProfileId == UP.ProfileId).FirstOrDefault();

                if (endorsement.CandidateId == null || endorsement.CandidateId == 0)
                {
                    return(BadRequest("الرجاء قم بإختيار المرشح"));
                }

                if (string.IsNullOrWhiteSpace(endorsement.Nid.Trim()) || string.IsNullOrEmpty(endorsement.Nid.Trim()))
                {
                    return(BadRequest("الرجاءإدخال الرقم الوطني"));
                }

                if (endorsement.Nid.Length != 12)
                {
                    return(BadRequest("يجب أن يكون عدد الرقم الوطني 12 الحرف"));
                }

                var endorsementCount = db.Endorsements.Where(x => x.Nid == endorsement.Nid).Count();

                if (endorsementCount > 0)
                {
                    return(BadRequest("من غير المسموح تجسيل المزكي أكثر من مرة"));
                }

                var endorsementsCount = db.Endorsements.Where(x => x.CandidateId == endorsement.CandidateId).Count();

                if (endorsementsCount == profile.Endorsements)
                {
                    return(BadRequest("لقد حصلت على العدد المطلوب من المزكين ومن غير المسموح لك بإضافة مزكي جديد"));
                }
                else
                {
                    db.Endorsements.Add(new Endorsements
                    {
                        Nid         = endorsement.Nid,
                        CandidateId = endorsement.CandidateId,
                        CreatedOn   = DateTime.Now,
                        CreatedBy   = UP.UserId
                    });
                    db.SaveChanges();
                }



                return(Ok("تم تسجيل المزكي بنجاح"));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.InnerException.Message));
            }
        }
        public IActionResult AddRepresentatives([FromBody] EntityRepresentatives Representatives)
        {
            try
            {
                if (Representatives == null)
                {
                    return(BadRequest("حذث خطأ في ارسال البيانات الرجاء إعادة الادخال"));
                }

                var userId = this.help.GetCurrentUser(HttpContext);

                if (userId <= 0)
                {
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }

                if (string.IsNullOrWhiteSpace(Representatives.Email))
                {
                    return(StatusCode(404, "الرجاء إدخال البريد الالكتروني"));
                }
                if (!Common.Validation.IsValidEmail(Representatives.Email))
                {
                    return(StatusCode(404, "الرجاء التأكد من البريد الإلكتروني"));
                }
                if (string.IsNullOrWhiteSpace(Representatives.Phone))
                {
                    return(StatusCode(404, "الرجاء إدخال رقم الهاتف"));
                }
                if (Representatives.Phone.Length < 9)
                {
                    return(StatusCode(404, "الرجاء إدخال الهـاتف بطريقة الصحيحة !!"));
                }
                Representatives.Phone = Representatives.Phone.Substring(Representatives.Phone.Length - 9);

                if (Representatives.Phone.Substring(0, 2) != "91" && Representatives.Phone.Substring(0, 2) != "92" && Representatives.Phone.Substring(0, 2) != "94")
                {
                    return(StatusCode(404, "يجب ان يكون الهاتف يبدأ ب (91,92,94) ليبيانا او المدار !!"));
                }



                var NIDExist = db.EntityRepresentatives.Where(x => x.Nid == Representatives.Nid).SingleOrDefault();
                if (NIDExist != null)
                {
                    return(BadRequest("الرقم الوطني موجود مسبقا الرجاء إعادة الادخال"));
                }

                var PhoneExist = db.EntityRepresentatives.Where(x => x.Phone == Representatives.Phone).SingleOrDefault();
                if (PhoneExist != null)
                {
                    return(BadRequest("رقم الهاتف موجود مسبقا الرجاء إعادة الادخال"));
                }

                var EmailExist = db.EntityRepresentatives.Where(x => x.Email == Representatives.Email).SingleOrDefault();
                if (EmailExist != null)
                {
                    return(BadRequest("البريد الإلكتروني موجود مسبقا الرجاء إعادة الادخال"));
                }

                if (string.IsNullOrWhiteSpace(Representatives.BirthDate.ToString()))
                {
                    return(BadRequest("الرجاء دخال تاريخ الميلاد "));
                }
                if ((DateTime.Now.Year - Representatives.BirthDate.GetValueOrDefault().Year) < 18)
                {
                    return(BadRequest("يجب ان يكون عمر الممثل اكبر من 18"));
                }


                Representatives.CreatedBy = userId;
                Representatives.CreatedOn = DateTime.Now;
                db.EntityRepresentatives.Add(Representatives);
                db.SaveChanges();

                return(Ok(" تم اضافة الممثل  بنـجاح"));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }