示例#1
0
        private IList <UserExportModel> BuildExportList(IList <UserModel> users, IList <MailingAddressModel> mailings)
        {
            IList <UserExportModel> exports = new List <UserExportModel>();

            UserExportModel       ex;
            MailingAddressModel   mailing     = null;
            MainScholarshipModel  scholarship = null;
            PaymentModel          payment     = null;
            LogisticScheduleModel logistic    = null;

            foreach (UserModel user in users)
            {
                ex      = new UserExportModel();
                mailing = mailings.Where(m => m.UserID == user.UserID).FirstOrDefault();
                var _scholarship = _mainScholarshipService.FindByUserID(user.UserID);
                var _payment     = _paymentService.FindByUserID(user.UserID);

                //mailing = _mailing.Items != null ? _mailing.Items.FirstOrDefault() : null;
                scholarship = _scholarship.Items != null?_scholarship.Items.FirstOrDefault() : null;

                payment = _payment.Items != null?_payment.Items.FirstOrDefault() : null;

                logistic = _logisticService.FindByUserID(user.UserID).Item;

                //Convert from user to userexport
                ConvertFromUser(user, ex);

                //Convert from mailing to userexport
                ConvertFromMailing(mailing, ex);

                //Convert from main scholarship
                //ConvertFromMainScholarship(scholarship, ex);

                //Convert from payment
                ConvertFromPayment(payment, ex);

                //Convert logistic
                ConvertFromLogistic(logistic, ex);

                exports.Add(ex);
            }

            return(exports);
        }
示例#2
0
        private void ConvertFromMailing(MailingAddressModel mailing, UserExportModel ex)
        {
            if (mailing == null)
            {
                return;
            }

            ex.ParticipateYouth     = mailing.ParticipateYouth;
            ex.OriginalNationality  = mailing.OriginalNationality;
            ex.CurrentNationality   = mailing.CurrentNationality;
            ex.PassportNumber       = mailing.PassportNumber;
            ex.TypeOfPassport       = mailing.TypeOfPassport;
            ex.Occupation           = mailing.Occupation;
            ex.DateOfPassportIssue  = mailing.DateOfPassportIssue.HasValue ? mailing.DateOfPassportIssue.Value.ToShortDateString() : "";
            ex.DateOfPassportExpiry = mailing.DateOfPassportExpiry.HasValue ? mailing.DateOfPassportExpiry.Value.ToShortDateString() : "";
            ex.DetailOfEmbassy      = mailing.DetailOfEmbassy;
            ex.NeedVisaSupport      = mailing.NeedVisaSupport;
            ex.ActivationCode       = mailing.ActivationCode;
            ex.RegistrationNumber   = mailing.RegistrationNumber;
        }
示例#3
0
        public JsonResult SaveUserInfomation(RegistrationModel registration)
        {
            if (this.Session["User-SessionID"] == null)
            {
                return(Json(new { ErrorCode = (int)ErrorCode.Redirect }, JsonRequestBehavior.AllowGet));
            }
            BaseResponse response = new BaseResponse();
            FindItemReponse <UserModel> userResponse = _userService.FindUserByID(registration.UserID);

            if (userResponse.Item != null)
            {
                var user = userResponse.Item;
                user.Title                      = registration.Title != "Empty" ? registration.Title : user.Title;
                user.Email                      = registration.Email != "Empty" ? registration.Email : user.Email;
                user.FullName                   = registration.FullName != "Empty" ? registration.FullName : user.FullName;
                user.Sex                        = registration.Sex != "Empty" ? registration.Sex : user.Sex;
                user.MealPreference             = registration.MealPreference != "Empty" ? registration.MealPreference : user.MealPreference;
                user.DisabilitySpecialTreatment = registration.DisabilityOrTreatment != "Empty" ? registration.DisabilityOrTreatment : user.DisabilitySpecialTreatment;
                user.OtherEmail                 = registration.OtherEmail != "Empty" ? registration.OtherEmail : user.OtherEmail;
                user.PhoneNumber                = registration.Phone != "Empty" ? registration.Phone : user.PhoneNumber;
                user.Address                    = registration.Address != "Empty" ? registration.Address : user.Address;
                user.City                       = registration.City != "Empty" ? registration.City : user.City;
                user.Country                    = registration.Country != "Empty" ? registration.Country : user.Country;
                user.WorkAddress                = registration.WorkAddress != "Empty" ? registration.WorkAddress : user.WorkAddress;
                user.Organization               = registration.Organization != "Empty" ? registration.Organization : user.Organization;
                user.DateOfBirth                = registration.DateOfBirth.HasValue ? registration.DateOfBirth : user.DateOfBirth;
                //Don't update password
                user.Password = null;

                //Updare user
                response = _userService.UpdateUser(user);
            }
            else
            {
                response.ErrorCode = (int)ErrorCode.Error;
                response.Message   = Resources.Resource.msg_commonError;
            }
            FindItemReponse <MailingAddressModel> mailingResponse = _mailingService.FindMailingAddressByID(registration.MailingAddressID);

            if (mailingResponse.Item != null)
            {
                var mailing = mailingResponse.Item;
                mailing.ParticipantType      = registration.ParticipantType != "Empty" ? registration.ParticipantType : mailing.ParticipantType;
                mailing.ParticipateYouth     = registration.YouthConference;
                mailing.NeedVisaSupport      = registration.NeedVisaSupport;
                mailing.OriginalNationality  = registration.OriginalNationality != "Empty" ? registration.OriginalNationality : mailing.OriginalNationality;
                mailing.CurrentNationality   = registration.CurrentNationality != "Empty" ? registration.CurrentNationality : mailing.CurrentNationality;
                mailing.Occupation           = registration.Occupation != "Empty" ? registration.Occupation : mailing.Occupation;
                mailing.DetailOfEmbassy      = registration.DetailOfEmbassy != "Empty" ? registration.DetailOfEmbassy : mailing.DetailOfEmbassy;
                mailing.PassportNumber       = registration.PassportNumber != "Empty" ? registration.PassportNumber : mailing.PassportNumber;
                mailing.DateOfPassportIssue  = registration.DateOfPassportIssue.HasValue ? registration.DateOfPassportIssue.Value : mailing.DateOfPassportIssue;
                mailing.DateOfPassportExpiry = registration.DateOfPassportExpiry.HasValue ? registration.DateOfPassportExpiry.Value : mailing.DateOfPassportExpiry;

                //Update mailing
                response = _mailingService.UpdateMailingAddress(mailing);
            }
            else
            {
                var mailing = new MailingAddressModel
                {
                    MailingAddressID     = Guid.NewGuid().ToString(),
                    ActivationCode       = UrlSlugger.Get8Digits(),
                    CreatedDate          = DateTime.Now,
                    ParticipantType      = registration.ParticipantType,
                    ParticipateYouth     = registration.YouthConference,
                    NeedVisaSupport      = registration.NeedVisaSupport,
                    OriginalNationality  = registration.OriginalNationality,
                    CurrentNationality   = registration.CurrentNationality,
                    Occupation           = registration.Occupation,
                    DetailOfEmbassy      = registration.DetailOfEmbassy,
                    PassportNumber       = registration.PassportNumber,
                    DateOfPassportIssue  = registration.DateOfPassportIssue,
                    DateOfPassportExpiry = registration.DateOfPassportExpiry,
                    PassportPhoto1       = registration.PassportPhoto1,
                    PassportPhoto2       = registration.PassportPhoto2,
                    PassportPhoto3       = registration.PassportPhoto3,
                    RegistrationNumber   = UrlSlugger.Get8Digits(),
                    TypeOfPassport       = registration.TypeOfPassport,
                    UserID = userResponse.Item.UserID
                };
                var insertResponse = _mailingService.CreateMailingAddress(mailing);
                response.ErrorCode = insertResponse.ErrorCode;
                response.Message   = insertResponse.ErrorCode != (int)ErrorCode.None ? "Please input required fields" : "Update succeeded";
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }