コード例 #1
0
        public HttpResponseMessage RegisterClient(HttpRequestMessage request, [FromBody] RegisterInfo objRegisterInfo)
        {
            TransactionalInformation transaction = new TransactionalInformation();
            AdminBusinessRules       adminRules  = new AdminBusinessRules();

            if (objRegisterInfo.ContactPerson != null)
            {
                if (objRegisterInfo.ContactPerson.Contains(","))
                {
                    string[] Names = objRegisterInfo.ContactPerson.Split(',');
                    objRegisterInfo.FirstName = Names[1].ToString();
                    objRegisterInfo.LastName  = Names[0].ToString();
                }
                else
                {
                    objRegisterInfo.FirstName = "";
                    objRegisterInfo.LastName  = objRegisterInfo.ContactPerson;
                }
            }
            objRegisterInfo.IsActive    = true;
            objRegisterInfo.Role        = Constants.WATERCONS_ROLE_ADMIN;
            objRegisterInfo.DefaultPage = Constants.WATERCONS_APPLICATION_DEFAULT_PAGE;

            adminRules.ValidateRegistration(objRegisterInfo, adminDataService);

            if (adminRules.ValidationStatus == true)
            {
                //client objclient = clientBusinessService.AddClient(
                //       objRegisterInfo.SubscriptionType,
                //       objRegisterInfo.Title,
                //       objRegisterInfo.Code,
                //       objRegisterInfo.Address,
                //       objRegisterInfo.ContactID,
                //       objRegisterInfo.ContactPerson,
                //       objRegisterInfo.ContactNumber,
                //       objRegisterInfo.Logo,
                //       objRegisterInfo.Email,
                //       objRegisterInfo.IsActive,
                //       objRegisterInfo.TermsAccepted,
                //       out transaction
                //       );

                if (transaction.ReturnStatus == false)
                {
                    objRegisterInfo.ReturnMessage    = transaction.ReturnMessage;
                    objRegisterInfo.ReturnStatus     = transaction.ReturnStatus;
                    objRegisterInfo.ValidationErrors = transaction.ValidationErrors;
                    var badResponse = Request.CreateResponse <RegisterInfo>(HttpStatusCode.BadRequest, objRegisterInfo);
                    return(badResponse);
                }

                UserBusinessService userBusinessService = new UserBusinessService(userDataService);

                taccount objUser = userBusinessService.AddUser(
                    objRegisterInfo.ID,
                    objRegisterInfo.UserName,
                    objRegisterInfo.FirstName,
                    objRegisterInfo.LastName,
                    objRegisterInfo.Password,
                    objRegisterInfo.PasswordConfirmation,
                    objRegisterInfo.Email,
                    objRegisterInfo.DefaultPage,
                    objRegisterInfo.Role,
                    out transaction
                    );

                if (transaction.ReturnStatus == false)
                {
                    objRegisterInfo.ReturnMessage    = transaction.ReturnMessage;
                    objRegisterInfo.ReturnStatus     = transaction.ReturnStatus;
                    objRegisterInfo.ValidationErrors = transaction.ValidationErrors;
                    var badResponse = Request.CreateResponse <RegisterInfo>(HttpStatusCode.BadRequest, objRegisterInfo);
                    return(badResponse);
                }

                ApplicationInitializationBusinessService initializationBusinessService;
                initializationBusinessService = new ApplicationInitializationBusinessService(applicationDataService);
                List <applicationmenu> menuItems = initializationBusinessService.GetMenuItems(true, out transaction);

                if (transaction.ReturnStatus == false)
                {
                    objRegisterInfo.ReturnMessage = transaction.ReturnMessage;
                    objRegisterInfo.ReturnStatus  = transaction.ReturnStatus;
                    var badResponse = Request.CreateResponse <RegisterInfo>(HttpStatusCode.BadRequest, objRegisterInfo);
                    return(badResponse);
                }

                WebUtils.AddActivityLog(1, 1, Constants.WATERCONS_MODULE_ADMIN, "Register.html", "#Admin/Register", "WaterCons " + objRegisterInfo.SubscriptionType + " Subscription Successful.");

                objRegisterInfo.IsAuthenicated = true;
                objRegisterInfo.ReturnStatus   = transaction.ReturnStatus;
                objRegisterInfo.ReturnMessage.Add(RegisterInfo.CONTACT_USER_ADD);
                objRegisterInfo.MenuItems = menuItems;
                objRegisterInfo.User      = objUser;


                FormsAuthentication.SetAuthCookie(objUser.ACCOUNTID.ToString(), createPersistentCookie: false);
                var response = Request.CreateResponse <RegisterInfo>(HttpStatusCode.OK, objRegisterInfo);
                return(response);
            }
            else
            {
                objRegisterInfo.ReturnStatus     = adminRules.ValidationStatus;
                objRegisterInfo.ReturnMessage    = adminRules.ValidationMessage;
                objRegisterInfo.ValidationErrors = adminRules.ValidationErrors;

                var badResponse = Request.CreateResponse <RegisterInfo>(HttpStatusCode.BadRequest, objRegisterInfo);
                return(badResponse);
            }
        }