コード例 #1
0
 public function SaveAnalyst($analystModel, $loginUserID)
 {
     $response = new ServiceResponse();
     $messages = array('required' => trans('messages.PropertyRequired'), 'min' => trans('messages.PropertyMin'));
     $isEditMode = $analystModel['AnalystID'] > 0;
     $analystEntity = new AnalystEntity();
     $validator = Validator::make((array) $analystModel, $isEditMode ? $analystEntity::$Add_rules : $analystEntity::$Add_rules, $messages);
     $validator->setAttributeNames($analystEntity::$niceNameArray);
     if ($validator->fails()) {
         $response->Message = Common::getValidationMessagesFormat($validator->messages());
         return $response;
     }
     $searchParams = array();
     $searchValueData = new SearchValueModel();
     $searchValueData->Name = "Title";
     $searchValueData->Value = Common::GetDataWithTrim($analystModel['Title']);
     $searchValueData->CheckStartWith = Constants::$CheckStartWith;
     array_push($searchParams, $searchValueData);
     $searchValueData = new SearchValueModel();
     $searchValueData->Name = "IsEnable";
     $searchValueData->Value = Constants::$IsEnableValue;
     array_push($searchParams, $searchValueData);
     if ($isEditMode) {
         $customWhere = "AnalystID NOT IN ({$analystModel['AnalystID']})";
     } else {
         $customWhere = "";
     }
     $checkUnique = $this->GetEntityCount($analystEntity, $searchParams, "", "", $customWhere);
     if ($checkUnique == 0) {
         $dateTime = date(Constants::$DefaultDateTimeFormat);
         if ($isEditMode) {
             $analystEntity = $this->GetEntityForUpdateByPrimaryKey($analystEntity, $analystModel['AnalystID']);
             if ($analystEntity->IsEnable == Constants::$Value_True) {
                 $users = UserEntity::where('IsEnable', Constants::$Value_True)->lists('UserID');
                 if (count($users) > 0) {
                     foreach ($users as $userID) {
                         $notificationEntity = new NotificationEntity();
                         $notificationEntity->UserID = $userID;
                         $notificationEntity->NotificationType = Constants::$NotificationType['Analyst'];
                         $notificationEntity->Message = 'Correction - ' . $analystEntity->Title;
                         $notificationEntity->ImageUrl = $analystEntity->Image ? Constants::$Path_AnalystImages . $analystEntity->AnalystID . '/' . rawurlencode($analystEntity->Image) : '';
                         $notificationEntity->Key = $analystEntity->AnalystID;
                         $notificationEntity->CreatedDate = date(Constants::$DefaultDateTimeFormat);
                         $notificationEntity->save();
                     }
                 }
             }
         }
         $analystEntity->Title = Common::GetDataWithTrim($analystModel['Title']);
         $analystEntity->Description = $analystModel['Description'];
         if (!$isEditMode) {
             $analystEntity->CreatedDate = $dateTime;
         }
         $analystEntity->ModifiedDate = $dateTime;
         if ($analystdetails = $this->SaveEntity($analystEntity)) {
             if ($analystdetails) {
                 $response->IsSuccess = true;
                 if ($analystModel['Image']) {
                     if (!is_dir(public_path(Constants::$Path_AnalystImages . $analystEntity->AnalystID))) {
                         mkdir(public_path(Constants::$Path_AnalystImages . $analystEntity->AnalystID), 0755);
                     } else {
                         $path = public_path(Constants::$Path_AnalystImages . $analystEntity->AnalystID . '/');
                         foreach (glob($path . "*.*") as $file) {
                             unlink($file);
                         }
                     }
                     $destinationPath = public_path(Constants::$Path_AnalystImages . $analystEntity->AnalystID);
                     /* $fileName = $analystModel['Image']->getClientOriginalName();
                        $originalFileName = Input::file()['Image']->getClientOriginalName();
                        $resizeFile = $originalFileName->resize(120, 120);*/
                     $fileName = $analystModel['Image']->getClientOriginalName();
                     $success = $analystModel['Image']->move($destinationPath, $fileName);
                     if ($success) {
                         $analystEntity->Image = $fileName;
                         $analystEntity->save();
                     }
                 }
             }
         } else {
             $response->Message = trans('messages.ErrorOccured');
         }
         if (!$isEditMode) {
             $response->Message = trans('messages.AnalystAddedSuccess');
         } else {
             $response->Message = trans('messages.AnalystUpdateSuccess');
         }
     } else {
         $response->Message = "'" . Common::GetDataWithTrim($analystEntity['Title']) . "' " . trans('messages.AnalystAlreadyExist');
     }
     return $response;
 }
コード例 #2
0
 public function SavePayment($paymentModel)
 {
     $response = new ServiceResponse();
     $paymentEntity = new PaymentPlansHistoryEntity();
     $validator = Validator::make((array) $paymentModel, $paymentEntity::$AddPayment_rules);
     $validator->setAttributeNames($paymentEntity::$niceNameArray);
     if ($validator->fails()) {
         $response->Message = Common::getValidationMessagesFormat($validator->messages());
         return $response;
     }
     $searchParams = array();
     $searchValueData = new SearchValueModel();
     $searchValueData->Name = "PlanID";
     $searchValueData->Value = $paymentModel->PlanID;
     array_push($searchParams, $searchValueData);
     $planDetails = $this->GetEntity(new PlanEntity(), $searchParams);
     $dateTime = date(Constants::$DefaultDateTimeFormat);
     $planName = $planDetails->PlanName;
     $discount = $planDetails->Amount * $planDetails->Discount / 100;
     $amount = $planDetails->Amount - $discount;
     $noOfDays = $planDetails->NoOfDays - 1;
     $startDate = $paymentModel->StartDate;
     $trial = $planDetails->IsTrial;
     $endDate = date(Constants::$DefaultDateTimeFormat, strtotime($startDate . "+" . $noOfDays . " days"));
     if ($planDetails) {
         $paymentEntity->UserID = $paymentModel->UserID;
         $paymentEntity->SubscriptionAmount = $paymentModel->SubscriptionAmount;
         $paymentEntity->Amount = $amount;
         $paymentEntity->PlanName = Common::GetDataWithTrim($planName);
         $paymentEntity->NoOfDays = $planDetails->NoOfDays;
         $paymentEntity->StartDate = $startDate;
         $paymentEntity->EndDate = $endDate;
         $paymentEntity->PaymentDate = $dateTime;
         $paymentEntity->IsTrial = $trial;
         $dateTime = date("Y-m-d");
         if (strtotime($startDate) <= strtotime($dateTime)) {
             $paymentEntity->IsActive = Constants::$Value_True;
         } else {
             $paymentEntity->IsActive = Constants::$Value_False;
         }
         $lastPlan = DB::table('paymentplanshistory')->where("UserID", $paymentModel->UserID)->orderBy("EndDate", "desc")->first();
         if (empty($lastPlan) || $lastPlan && strtotime($lastPlan->EndDate) < strtotime($startDate)) {
             $response->Data = $this->SaveEntity($paymentEntity);
             $response->IsSuccess = true;
             $response->Message = trans('messages.addpayment');
             if ($paymentEntity->IsActive) {
                 $userNotificationEntity = new UserNotificationEntity();
                 $userNotificationEntity->Description = trans("messages.PlanActivated", array('startDate' => date(Constants::$SortDisplayDateFormat, strtotime($paymentEntity->StartDate)), 'endDate' => date(Constants::$SortDisplayDateFormat, strtotime($paymentEntity->EndDate))));
                 $userNotificationEntity->UserID = $paymentEntity->UserID;
                 $userNotificationEntity->CreatedDate = date(Constants::$DefaultDateTimeFormat);
                 $userNotificationEntity->save();
                 $notificationEntity = new NotificationEntity();
                 $notificationEntity->UserID = $paymentEntity->UserID;
                 $notificationEntity->NotificationType = Constants::$NotificationType['General'];
                 $notificationEntity->Message = trans("messages.PlanActivated", array('startDate' => date(Constants::$SortDisplayDateFormat, strtotime($paymentEntity->StartDate)), 'endDate' => date(Constants::$SortDisplayDateFormat, strtotime($paymentEntity->EndDate))));
                 $notificationEntity->Key = (int) Constants::$PaidGroupID;
                 $notificationEntity->CreatedDate = date(Constants::$DefaultDateTimeFormat);
                 $notificationEntity->save();
             }
         } else {
             $response->Message = "Your Last Plan will end on " . date(Constants::$DefaultDisplayDateFormat, strtotime($lastPlan->EndDate)) . ", Please select future date than this";
         }
     } else {
         $response->IsSuccess = false;
         $response->Message = trans('messages.ErrorOccured');
     }
     return $response;
 }
コード例 #3
0
 public function SaveNews($newsmodel, $newsImage, $user)
 {
     $response = new ServiceResponse();
     $newsEntity = new NewsEntity();
     $messages = array('required' => trans('messages.PropertyRequired'));
     $validator = Validator::make((array) $newsmodel, $newsEntity::$Add_rules, $messages);
     $validator->setAttributeNames($newsEntity::$niceNameArray);
     if ($validator->fails()) {
         $response->Message = Common::getValidationMessagesFormat($validator->messages());
         $response->IsSuccess = false;
         return $response;
     }
     $dateTime = date(Constants::$DefaultDateTimeFormat);
     $newsEntity->Description = $newsmodel->Description;
     $newsEntity->GroupID = serialize($newsmodel->GroupID);
     $newsEntity->CreatedDate = $dateTime;
     $newsEntity->ModifiedDate = $dateTime;
     $newsEntity->UserID = $user->Data->UserID;
     if ($newsEntity->save()) {
         if ($newsImage) {
             if (!is_dir(public_path(Constants::$Path_NewsImages . $newsEntity->NewsID))) {
                 mkdir(public_path(Constants::$Path_NewsImages . $newsEntity->NewsID), 0755);
             } else {
                 $path = public_path(Constants::$Path_NewsImages . $newsEntity->NewsID . '/');
                 // Loop over all of the files in the folder
                 foreach (glob($path . "*.*") as $file) {
                     unlink($file);
                     // Delete each file through the loop
                 }
             }
             $destinationPath = public_path(Constants::$Path_NewsImages . $newsEntity->NewsID);
             $fileName = $newsImage->getClientOriginalName();
             $success = $newsImage->move($destinationPath, $fileName);
             if ($success) {
                 $newsEntity->Image = $fileName;
                 $newsEntity->save();
             }
         }
         /*Save Notification for all users*/
         $userlist = array();
         $users = array();
         if (in_array(Constants::$AllGroupID, $newsmodel->GroupID)) {
             $users = UserEntity::where('IsEnable', Constants::$Value_True)->lists('UserID');
         } else {
             foreach ($newsmodel->GroupID as $value) {
                 if ($value == Constants::$TrialGroupID) {
                     $userlist[] = PaymentPlansHistoryEntity::where('IsTrial', Constants::$Value_True)->where('IsActive', Constants::$Value_True)->distinct('UserID')->lists('UserID');
                 } else {
                     if ($value == Constants::$FreeGroupID) {
                         $historyUser = DB::table('paymentplanshistory')->where('IsActive', Constants::$Value_True)->distinct('UserID')->lists('UserID');
                         if (count($historyUser) > 0) {
                             $freeUser = DB::table('users')->whereNotIn('UserID', $historyUser)->where('IsEnable', Constants::$Value_True)->lists('UserID');
                             $userlist[] = $freeUser;
                         }
                     } else {
                         if ($value == Constants::$PaidGroupID) {
                             $paidCount = PaymentPlansHistoryEntity::where('IsTrial', Constants::$Value_False)->where('IsActive', Constants::$Value_True)->distinct('UserID')->lists('UserID');
                             $userlist[] = $paidCount;
                         } else {
                             $userlist[] = DB::table('usergroups')->where('GroupID', $value)->lists('UserID');
                         }
                     }
                 }
             }
             $userlist[] = DB::table('users')->whereIn('userid', DB::table('userroles')->where('RoleID', Constants::$RoleAdmin)->lists('UserID'))->where('IsEnable', Constants::$Value_True)->lists('UserID');
             if (count($userlist) > 1) {
                 foreach ($userlist as $listuser) {
                     $users = array_unique(array_merge($users, $listuser));
                 }
             }
         }
         foreach ($users as $userID) {
             $UserNewsEntity = new UserNewsEntity();
             $UserNewsEntity->NewsID = $newsEntity->NewsID;
             $UserNewsEntity->UserID = $userID;
             $UserNewsEntity->save();
             $notificationEntity = new NotificationEntity();
             $notificationEntity->UserID = $userID;
             $notificationEntity->NotificationType = Constants::$NotificationType['General'];
             $notificationEntity->Message = $newsEntity->Description;
             //trans("messages.NewNewsMessageReceivedPush");
             $notificationEntity->ImageUrl = $newsEntity->Image ? Constants::$Path_NewsImages . $newsEntity->NewsID . '/' . rawurlencode($newsEntity->Image) : '';
             $notificationEntity->CreatedDate = date(Constants::$DefaultDateTimeFormat);
             $notificationEntity->save();
         }
         $response->Data = $newsEntity;
         $response->Message = trans('messages.newsadded');
         $response->IsSuccess = true;
     }
     return $response;
 }
コード例 #4
0
 public function SaveScript($scriptModel, $cUser)
 {
     $response = new ServiceResponse();
     $messages = array('required' => trans('messages.PropertyRequired'), 'min' => trans('messages.PropertyMin'), 'max' => trans('messages.PropertyMax'));
     $isEditMode = $scriptModel['ScriptID'] > 0;
     $scriptEntity = new ScriptEntity();
     $validator = Validator::make((array) $scriptModel, $scriptEntity::$Add_rules, $messages);
     $validator->setAttributeNames($scriptEntity::$niceNameArray);
     if ($validator->fails()) {
         $response->Message = Common::getValidationMessagesFormat($validator->messages());
         return $response;
     }
     $checkUnique = ScriptEntity::where("Script", trim($scriptModel['Script']))->where("SegmentID", $scriptModel['SegmentID'])->where('ScriptID', '!=', $scriptModel['ScriptID'])->first();
     if ($checkUnique == null) {
         $dateTime = date(Constants::$DefaultDateTimeFormat);
         if ($isEditMode) {
             $scriptEntity = $this->GetEntityForUpdateByPrimaryKey($scriptEntity, $scriptModel['ScriptID']);
         }
         $scriptEntity->Script = Common::GetDataWithTrim($scriptModel['Script']);
         $scriptEntity->SegmentID = $scriptModel['SegmentID'];
         if ($scriptDetails = $this->SaveEntity($scriptEntity)) {
             if ($scriptModel['Image']) {
                 if (!is_dir(public_path(Constants::$Path_ScriptImages . $scriptEntity->ScriptID))) {
                     mkdir(public_path(Constants::$Path_ScriptImages . $scriptEntity->ScriptID), 0755);
                 } else {
                     $path = public_path(Constants::$Path_ScriptImages . $scriptEntity->ScriptID . '/');
                     foreach (glob($path . "*.*") as $file) {
                         unlink($file);
                     }
                 }
                 $destinationPath = public_path(Constants::$Path_ScriptImages . $scriptEntity->ScriptID);
                 $fileName = $scriptModel['Image']->getClientOriginalName();
                 $success = $scriptModel['Image']->move($destinationPath, $fileName);
                 if ($success) {
                     $scriptEntity->Image = $fileName;
                     $scriptEntity->save();
                 }
             }
             $response->Message = !$isEditMode ? trans('messages.ScriptAddedSuccess') : trans('messages.ScriptUpdateSuccess');
             $response->IsSuccess = true;
         } else {
             $response->Message = trans('messages.ErrorOccured');
         }
     } else {
         $response->Message = "'" . Common::GetDataWithTrim($scriptModel['Script']) . "' " . trans('messages.ScriptAlreadyExist');
     }
     return $response;
 }
コード例 #5
0
 public function UpdateCall($callModel)
 {
     $response = new ServiceResponse();
     if (property_exists($callModel, "CallID") && $callModel->CallID) {
         $messages = array('required' => trans('messages.PropertyRequired'));
         $validator = Validator::make((array) $callModel, CallEntity::$updateCall_rules, $messages);
         $validator->setAttributeNames(CallEntity::$niceNameArray);
         if ($validator->fails()) {
             $response->Message = Common::getValidationMessagesFormat($validator->messages());
             return $response;
         } else {
             $CallEntity = CallEntity::find($callModel->CallID);
             $CallEntity->ScriptID = $callModel->ScriptID;
             $CallEntity->Action = $callModel->Action;
             $CallEntity->InitiatingPrice = $callModel->InitiatingPrice;
             $CallEntity->T1 = round($callModel->T1, Constants::$DecimalValue);
             $CallEntity->T2 = round($callModel->T2, Constants::$DecimalValue);
             $CallEntity->SL = round($callModel->SL, Constants::$DecimalValue);
             $CallEntity->ResultID = property_exists($callModel, 'ResultID') ? $callModel->ResultID : '';
             $CallEntity->ResultDescription = property_exists($callModel, 'ResultDescription') ? $callModel->ResultDescription : '';
             if ($CallEntity->save()) {
                 $response->Message = trans("messages.CallUpdateSuccess");
                 $response->IsSuccess = TRUE;
             } else {
                 $response->Message = trans("messages.ErrorOccured");
             }
         }
     } else {
         $response->Message = trans("messages.ErrorOccured");
     }
     return $response;
 }
コード例 #6
0
 public function AuthenticateUser($loginModel)
 {
     $response = new ServiceResponse();
     $authModel = new StdClass();
     $messages = array('required' => trans('messages.PropertyRequired'));
     $validator = Validator::make((array) $loginModel, array('Email' => 'required|email', 'Password' => 'required'), $messages);
     $validator->setAttributeNames(UserEntity::$niceNameArray);
     if ($validator->fails()) {
         $response->Message = Common::getValidationMessagesFormat($validator->messages());
         return $response;
     }
     $hashedPassword = $loginModel->Password;
     //md5($loginModel->Password);
     $searchParams = array();
     $searchValueData = new SearchValueModel();
     $searchValueData->Name = "Email";
     $searchValueData->Value = $loginModel->Email;
     $searchValueData->CheckStartWith = Constants::$CheckStartWith;
     array_push($searchParams, $searchValueData);
     $searchValueData = new SearchValueModel();
     $searchValueData->Name = "Password";
     $searchValueData->Value = $hashedPassword;
     array_push($searchParams, $searchValueData);
     $searchValueData = new SearchValueModel();
     $searchValueData->Name = "IsEnable";
     $searchValueData->Value = Constants::$IsEnableValue;
     array_push($searchParams, $searchValueData);
     $loggedUserResults = DB::table('users')->where('Email', $loginModel->Email)->where('Password', $loginModel->Password)->where('IsEnable', Constants::$IsEnableValue)->first();
     if (!$loggedUserResults) {
         $loggedUserResults = DB::table('users')->where('Email', $loginModel->Email)->where('Password', md5($loginModel->Password))->where('IsEnable', Constants::$IsEnableValue)->first();
     }
     if (is_null($loggedUserResults)) {
         $response->Message = trans('messages.InvalidUserNamePassword');
     } else {
         $user = $this->GetEntityForUpdateByPrimaryKey(new UserEntity(), $loggedUserResults->UserID);
         $searchParams = array();
         $searchValueData = new SearchValueModel();
         $searchValueData->Name = "UserID";
         $searchValueData->Value = $loggedUserResults->UserID;
         array_push($searchParams, $searchValueData);
         $role = $this->GetEntity(new vwUserRoleEntity(), $searchParams);
         if ($role->RoleID != Constants::$Value_True) {
             $response->Message = trans("messages.UnauthorizeAction");
             return $response;
         }
         $userHistoryEntity = new UserHistoryEntity();
         $dateTime = date(Constants::$DefaultDateTimeFormat);
         $userHistoryEntity->LoginTime = $dateTime;
         $userHistoryEntity->LogoutTime = '0000-00-00 00:00:00';
         $userHistoryEntity->UserID = $loggedUserResults->UserID;
         $this->SaveEntity($userHistoryEntity);
         Auth::login($user);
         $authModel->userdeatil = $user;
         $authModel->userdeatil->RoleID = $role->RoleID;
         $authModel->userdeatil->RoleName = $role->RoleName;
         $authModel->getUserRoleID = $role->RoleID;
         $getRole = Common::GetLoginRoleText($authModel->getUserRoleID);
         $authModel->redirectURL = $getRole->redirectURL;
         $response->Data = $authModel;
         $response->Message = trans('messages.LoginSuccess');
         $response->IsSuccess = true;
     }
     return $response;
 }