Example #1
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);
        }
Example #2
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;
            }
        }