コード例 #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 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;
 }
コード例 #4
0
 public function SavePlan($planModel, $loginUserID)
 {
     $response = new ServiceResponse();
     $messages = array('required' => trans('messages.PropertyRequired'), 'min' => trans('messages.PropertyMin'), 'max' => trans('messages.PropertyMax'));
     $isEditMode = $planModel->PlanID > 0;
     $planEntity = new PlanEntity();
     $validator = Validator::make((array) $planModel, $isEditMode ? $planEntity::$Add_rules : $planEntity::$Add_rules, $messages);
     $validator->setAttributeNames($planEntity::$niceNameArray);
     if ($validator->fails()) {
         $response->Message = Common::getValidationMessagesFormat($validator->messages());
         return $response;
     }
     $searchParams = array();
     $searchValueData = new SearchValueModel();
     $searchValueData->Name = "PlanName";
     $searchValueData->Value = Common::GetDataWithTrim($planModel->PlanName);
     $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 = "PlanID NOT IN ({$planModel->PlanID})";
     } else {
         $customWhere = "";
     }
     $checkUniquePlan = $this->GetEntityCount($planEntity, $searchParams, "", "", $customWhere);
     if ($checkUniquePlan == 0) {
         $dateTime = date(Constants::$DefaultDateTimeFormat);
         if ($isEditMode) {
             $planEntity = $this->GetEntityForUpdateByPrimaryKey($planEntity, $planModel->PlanID);
         }
         $planEntity->PlanName = Common::GetDataWithTrim($planModel->PlanName);
         $planEntity->Amount = $planModel->Amount;
         if (isset($planModel->Discount)) {
             $planEntity->Discount = $planModel->Discount;
         }
         $planEntity->NoOfDays = $planModel->NoOfDays;
         $planEntity->IsEnable = Constants::$IsEnableValue;
         if (!empty($planModel->IsTrial)) {
             $planEntity->IsTrial = $planModel->IsTrial;
         } else {
             $planEntity->IsTrial = Constants::$Value_False;
         }
         if (!$isEditMode) {
             $planEntity->CreatedDate = $dateTime;
         }
         $planEntity->ModifiedDate = $dateTime;
         if ($this->SaveEntity($planEntity)) {
             $response->IsSuccess = true;
         } else {
             $response->Message = trans('messages.ErrorOccured');
         }
         if (!$isEditMode) {
             $response->Message = trans('messages.PlanAddedSuccess');
         } else {
             $response->Message = trans('messages.PlanUpdateSuccess');
         }
     } else {
         $response->Message = "'" . Common::GetDataWithTrim($planModel->PlanName) . "' " . trans('messages.PlanAlreadyExist');
     }
     return $response;
 }
コード例 #5
0
 public function SaveGroup($groupModel, $loginUserID)
 {
     $response = new ServiceResponse();
     $isEditMode = $groupModel->GroupID > 0;
     $groupEntity = new GroupEntity();
     $searchParams = array();
     $searchValueData = new SearchValueModel();
     $searchValueData->Name = "GroupName";
     $searchValueData->Value = Common::GetDataWithTrim($groupModel->GroupName);
     $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 = "GroupID NOT IN ({$groupModel->GroupID})";
     } else {
         $customWhere = "";
     }
     $checkUniqueEmail = $this->GetEntityCount($groupEntity, $searchParams, "", "", $customWhere);
     if ($checkUniqueEmail == 0) {
         $dateTime = date(Constants::$DefaultDateTimeFormat);
         if ($isEditMode) {
             $groupEntity = $this->GetEntityForUpdateByPrimaryKey($groupEntity, $groupModel->GroupID);
         }
         $groupEntity->GroupName = Common::GetDataWithTrim($groupModel->GroupName);
         $groupEntity->IsEnable = Constants::$IsEnableValue;
         if (!$isEditMode) {
             $groupEntity->CreatedDate = $dateTime;
             $groupEntity->CreatedBy = $loginUserID;
         }
         $groupEntity->ModifiedDate = $dateTime;
         $groupEntity->ModifiedBy = $loginUserID;
         if ($this->SaveEntity($groupEntity)) {
             $response->IsSuccess = true;
         } else {
             $response->Message = trans('messages.ErrorOccured');
         }
         if (!$isEditMode) {
             $response->Message = trans('messages.GroupAddedSuccess');
         } else {
             $response->Message = trans('messages.GroupUpdateSuccess');
         }
     } else {
         $response->Message = "'" . Common::GetDataWithTrim($groupModel->GroupName) . "' " . trans('messages.GroupAlreadyExist');
     }
     return $response;
 }