Beispiel #1
0
        public IndividualVM UpdatePersonalInfo(IndividualVM vm)
        {
            var dbContext = new LMISEntities();

            try
            {
                var individualObject = dbContext.IndividualDetails.Single(i => i.PortalUsersID == vm.PortalUsersID);

                #region 1st: Update portal user

                individualObject.PortalUser.IDNumber = vm.PortalUser.IDNumber;
                individualObject.PortalUser.IDType   = vm.PortalUser.IDType;
                if (individualObject.Email != vm.Email)
                {
                    var user = dbContext.AspNetUsers.Where(u => u.Id == vm.UserID).SingleOrDefault();
                    user.UserName = vm.Email;
                    user.Email    = vm.Email;
                    dbContext.Entry(user).State = EntityState.Modified;
                }

                #endregion

                #region 2nd: Populate Individual object

                individualObject.MobileNo          = vm.MobileNo;
                individualObject.TelephoneNo       = vm.TelephoneNo;
                individualObject.DateOfBirth       = vm.DateOfBirth;
                individualObject.Email             = vm.Email;
                individualObject.MaritalStatusId   = vm.MaritalStatusId;
                individualObject.GenderId          = vm.GenderId;
                individualObject.MilitaryStatus_Id = vm.GenderId == "00200002" ? vm.MilitaryStatus_Id : string.Empty;
                individualObject.NationalityId     = string.IsNullOrEmpty(vm.NationalityId)
                    ? individualObject.NationalityId
                    : vm.NationalityId;
                individualObject.CountryID           = vm.CountryID;
                individualObject.CityID              = vm.CityID;
                individualObject.IndividualMedicalID = vm.IndividualMedicalID;
                individualObject.AllowtoViewMyInfo   = vm.AllowtoViewMyInfo;
                individualObject.UpdateDate          = System.DateTime.Now;
                individualObject.UpdateUserID        = individualObject.AspNetUser.Id;
                individualObject.PhotoPath           = string.IsNullOrEmpty(vm.PhotoPath)
                    ? individualObject.PhotoPath
                    : vm.PhotoPath;
                individualObject.Is_Approved = (int)Approval.Pending;

                #endregion

                #region 3rd: Delete details

                var dr = individualObject.IndividualDetailsDets
                         .Where(r => r.PortalUsersID == vm.PortalUsersID)
                         .ToList();

                dbContext.IndividualDetailsDets.RemoveRange(dr);

                #endregion

                #region 4th: Add translations

                foreach (
                    IndividualTranslationVM translation in
                    vm.Translation.Where(t => t.FirstName != null || t.LastName != null || t.Address != null))
                {
                    IndividualDetailsDet translationObject = new IndividualDetailsDet
                    {
                        PortalUsersID = individualObject.PortalUsersID,
                        LanguageID    = translation.LanguageID,
                        FirstName     = translation.FirstName,
                        LastName      = translation.LastName,
                        Address       = translation.Address
                    };
                    individualObject.IndividualDetailsDets.Add(translationObject);
                }

                #endregion

                #region 5th: Save Individual object

                dbContext.Entry(individualObject).State = EntityState.Modified;

                dbContext.SaveChanges();

                #endregion

                return(vm);
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:");
                }
                throw;
            }
            catch
            {
                throw;
            }
        }
Beispiel #2
0
        public long PostPersonalInformation(ref IndividualRegisterationVm vm, UserInfo user)
        {
            using (var db = new LMISEntities())
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        var id = user.PortalUserId;

                        if (id > 0) //Update
                        {
                            var tp = db.PortalUsers.Where(r => r.PortalUsersID == user.PortalUserId)
                                     .ToList().Single();
                            tp.IDType   = vm.IdType;
                            tp.IDNumber = vm.NationailtyIDorPassportID;

                            var tr = db.IndividualDetails
                                     .Where(r => r.PortalUsersID == user.PortalUserId)
                                     .ToList().Single();
                            tr.Is_Approved         = 1;
                            tr.Email               = vm.Email;
                            tr.MobileNo            = vm.MobileNumber;
                            tr.TelephoneNo         = vm.TelephoneNo;
                            tr.GenderId            = vm.Gender;
                            tr.DateOfBirth         = vm.BirthDate;
                            tr.MaritalStatusId     = vm.Maritalstatus;
                            tr.MilitaryStatus_Id   = vm.Militarystatus;
                            tr.NationalityId       = vm.Nationality;
                            tr.CountryID           = vm.Country;
                            tr.CityID              = vm.City;
                            tr.AllowtoViewMyInfo   = vm.AllowtoViewMyInfo;
                            tr.UpdateUserID        = user.UserId;
                            tr.IndividualMedicalID = vm.IndividualMedicalId;
                            tr.UpdateUserID        = user.UserId;
                            tr.UpdateDate          = DateTime.UtcNow;
                            vm.RegisterationId     = (long)tr.PortalUsersID;
                            var dr = db.IndividualDetailsDets
                                     .Where(r => r.PortalUsersID == user.PortalUserId)
                                     .ToList();

                            db.IndividualDetailsDets.RemoveRange(dr);
                        }
                        else        //Insert
                        {
                            var tr = new PortalUser
                            {
                                IDType          = vm.IdType,
                                IDNumber        = vm.NationailtyIDorPassportID,
                                JobSeeker       = true,
                                TrainingSeeker  = true,
                                UserCategory    = "IND",
                                UserSubCategory = "IND"
                            };

                            db.PortalUsers.Add(tr);
                            db.SaveChanges();
                            vm.RegisterationId = (long)tr.PortalUsersID;


                            var dr = new IndividualDetail()
                            {
                                PortalUsersID     = vm.RegisterationId,
                                Email             = vm.Email,
                                MobileNo          = vm.MobileNumber,
                                TelephoneNo       = vm.TelephoneNo,
                                GenderId          = vm.Gender,
                                DateOfBirth       = vm.BirthDate,
                                MaritalStatusId   = vm.Maritalstatus,
                                MilitaryStatus_Id = vm.Militarystatus,
                                NationalityId     = vm.Nationality,
                                CountryID         = vm.Country,
                                CityID            = vm.City,
                                // PhotoPath = "g",
                                Is_Approved       = 1,//(byte)vm.Approval,
                                AllowtoViewMyInfo = vm.AllowtoViewMyInfo,
                                //RejectReason = "v",
                                PostDate            = System.DateTime.Now,
                                UpdateDate          = System.DateTime.Now,
                                PostUserID          = user.UserId,
                                UpdateUserID        = user.UserId,
                                IndividualMedicalID = vm.IndividualMedicalId,
                                UserID = user.UserId
                            };
                            db.IndividualDetails.Add(dr);
                            db.SaveChanges();
                        }
                        // Insert More Details
                        var mdr = new IndividualDetailsDet();
                        mdr.PortalUsersID = vm.RegisterationId;
                        foreach (var r in vm.FirstName.ToLocalStrings())
                        {
                            mdr.LanguageID = r.L;
                            mdr.FirstName  = r.T;
                            db.IndividualDetailsDets.Add(mdr);
                        }
                        foreach (var r in vm.LastName.ToLocalStrings())
                        {
                            mdr.LanguageID = r.L;
                            mdr.LastName   = r.T;
                            db.IndividualDetailsDets.Add(mdr);
                        }
                        foreach (var r in vm.Address.ToLocalStrings())
                        {
                            mdr.LanguageID = r.L;
                            mdr.Address    = r.T;
                            db.IndividualDetailsDets.Add(mdr);
                        }
                        db.IndividualDetailsDets.Add(mdr);
                        db.SaveChanges();
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        ExceptionDispatchInfo.Capture(ex).Throw();
                    }
                }

            return(vm.RegisterationId);
        }
Beispiel #3
0
        public void Post(ref IndividualVM vm, string userId)
        {
            var dbContext = new LMISEntities();

            try
            {
                #region 1st: Add portal user

                PortalUser portalUser = new PortalUser
                {
                    PortalUsersID    = vm.PortalUser.PortalUsersID,
                    IDType           = vm.PortalUser.IDType,
                    IDNumber         = vm.PortalUser.IDNumber,
                    UserCategory     = vm.PortalUser.UserCategory,
                    UserSubCategory  = vm.PortalUser.UserSubCategory,
                    TrainingProvider = vm.PortalUser.TrainingProvider,
                    Employer         = vm.PortalUser.Employer,
                    JobSeeker        = vm.PortalUser.JobSeeker,
                    TrainingSeeker   = vm.PortalUser.TrainingSeeker,
                    Researcher       = vm.PortalUser.Researcher,
                    Internal         = vm.PortalUser.Internal,
                    IsSubscriper     = vm.PortalUser.IsSubscriper
                };
                dbContext.PortalUsers.Add(portalUser);
                dbContext.SaveChanges();

                #endregion


                using (var transaction = dbContext.Database.BeginTransaction())
                {
                    #region 2nd: Populate Individual object

                    IndividualDetail individualObject = PopulateRecord(vm, portalUser.PortalUsersID, userId);
                    individualObject.PostDate = DateTime.UtcNow;

                    #endregion

                    #region trd: Add translations

                    foreach (
                        IndividualTranslationVM translation in
                        vm.Translation.Where(t => t.FirstName != null || t.LastName != null || t.Address != null))
                    {
                        IndividualDetailsDet translationObject = new IndividualDetailsDet
                        {
                            PortalUsersID = portalUser.PortalUsersID,
                            LanguageID    = translation.LanguageID,
                            FirstName     = translation.FirstName,
                            LastName      = translation.LastName,
                            Address       = translation.Address
                        };
                        individualObject.IndividualDetailsDets.Add(translationObject);
                    }

                    #endregion

                    #region 4th: Save Individual object

                    dbContext.IndividualDetails.Add(individualObject);
                    dbContext.SaveChanges();
                    transaction.Commit();

                    #endregion
                }
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    //Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                }
                throw;
            }
            catch
            {
                throw;
            }
        }