DebtorCC ONLINE CREDIT COUNSELING COURSE
  • Documentation
  • Swagger
  • Contact
  • Header

    • For every api call, security key should send through header with name apikey
    • Baseurl : https://tx.dit.dharani.org/
  • Response Status Codes

    We will return 200 as status code on success call of a method.

                    
                    {
                      "code": 200,
                      "text": "string",
                      "data": [ ]
                    }
                    
                    
                    
                    {
                      "code": 200,
                      "text": "string",
                      "paging": {
                                  "CurrentPageNumber": 0,
                                  "PageSize": 0,
                                  "HasNextPage": true
                                },
                      "data": [ ]
                    }
                    
                    

    We will return 0 as status code when failure the method calling.

                    
                    {
                      "code": 0,
                      "text": "string",
                      "data": null
                    }
                    
                    

    we will return -1 as status code when any error occured while calling the method.

                    
                    {
                      "code": -1,
                      "text": "string",
                      "data": null
                    }
                    
                    
  • Admin Create POST api/admin/adminuser_add

    This method is used to create new Admin. Returns response as JSON object.

    • Request URL : api/admin/adminuser_add
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "course_type": "string",
                            "admin_username": "string",
                            "admin_password": "string",
                            "admin_information": {
                                "admin_firstname":"string",
                                "admin_lastname":"string",
                                "admin_emailaddress":"string",
                                "admin_accesslevel_id":"string",
                                "phone_number":"string"
                              },
                              "us_trustees":{
                                "ustrustees_agencyId":"string",
                                "ustrustees_loginId":"string",
                                "ustrustees_password":"string",
                                "ustrustees_issueridentity":"string"
                              },
                              "two_factor_authentication":{
                                "enabled_2FA":true
                              }
                            }
                        
                    
    Parameters Validation
    course_type Required
    admin_username Required
    admin_password Required
    admin_firstname Required
    admin_lastname Required
    admin_emailaddress Required and should be a valid email
    admin_accesslevel_id Required
    phone_number Required and should be 10 digits.
    ustrustees_agencyId Required
    ustrustees_loginId Required
    ustrustees_password Required
    ustrustees_issueridentity Required
    enabled_2FA Required and should be true or false
                    
                    {
                      "code": 200,
                      "text": "Success",
                      "data": "Admin added successfully"
                    }
                    
                    

                    
                    {
                      "code": 0,
                      "text": "User doesn't Exsist'",            
                      "data": null
                    }
                    
                    

                    
                    {
                      "code": -1,
                      "text": "Unexpected error occurred",         
                      "data": null
                    }
                    
                    

                    
                    Request:
                            class AdminRequest
                            {
                            public string course_type { get; set; }
                            public string admin_username { get; set; }
                            public string admin_password { get; set; }
                            public AdminInformation admin_information { get; set; }
                            public USTrustees us_trustees { get; set; }
                            public TwoFactorAuthentication two_factor_authentication { get; set; }
                            }
                            public class AdminInformation
                            {
                            public string admin_firstname { get; set; }
                            public string admin_lastname { get; set; }
                            public string admin_emailaddress { get; set; }
                            public string admin_accesslevel_id { get; set; }
                            public string phone_number { get; set; }
                            }
                            public class USTrustees
                            {
                            public string ustrustees_agencyId { get; set; }
                            public string ustrustees_loginId { get; set; }
                            public string ustrustees_password { get; set; }
                            public string ustrustees_issueridentity { get; set; }
                            }
                            public class TwoFactorAuthentication
                            {
                            public bool enabled_2FA { get; set; }
                            }
    
                            AdminRequest objAdminRequest = new AdminRequest();
    
                            objAdminRequest.admin_information = new AdminInformation();
                            objAdminRequest.us_trustees = new USTrustees();
                            objAdminRequest.two_factor_authentication = new TwoFactorAuthentication();
    
                            objAdminRequest.admin_information.admin_firstname = "firstapi";
                            objAdminRequest.admin_information.admin_lastname = "lastapi";
                            objAdminRequest.admin_information.admin_emailaddress = "rssr4@g.c";
                            objAdminRequest.admin_information.admin_accesslevel_id = "Admin";
                            objAdminRequest.admin_information.phone_number = "1234567890";
    
                            objAdminRequest.us_trustees.ustrustees_agencyId = "1234";
                            objAdminRequest.us_trustees.ustrustees_loginId = "67891";
                            objAdminRequest.us_trustees.ustrustees_password = "12345";
                            objAdminRequest.us_trustees.ustrustees_issueridentity = "1";
    
                            objAdminRequest.two_factor_authentication.enabled_2FA = true;
    
    
    
                    Code:
                            public ApiResponseCreate(string collectionName, BsonDocument document)
                            {
                                if (!ValidateDocument(document, out string errorMessage))
                                {
                                return new ApiResponse
                                    {
                                    Success = false,
                                    Message = errorMessage
                                    };
                                    }
    
    
                                    document["createdDate"] = DateTime.UtcNow;
                                    document["updatedDate"] = DateTime.UtcNow;
    
                                    _mongoDBContext.InsertOne(collectionName, document);
    
                                    return new ApiResponse
                                        {
                                        Success = true,
                                        TotalRecords = 1,
                                        Message = "Document created successfully.",
                                        Data = BsonHelper.ConvertDocument(document)
                                        };
                                        }
                               }
                                private bool ValidateDocument(BsonDocument document, out string message)
                                {
                                    foreach (var element in document.Elements)
                                    {
                                        if (element.Value.IsBsonDocument)
                                        {
                                            if (!ValidateDocument(element.Value.AsBsonDocument, out message))
                                                return false;
                                        }
                                        else
                                        {
                                            // Email Validation
                                            if (element.Name.ToLower().Contains("email") && element.Value.IsString)
                                            {
                                                try
                                                {
                                                    string email = element.Value.AsString;
    
                                                    var mail = new MailAddress(email);
    
                                                    if (mail.Address != email)
                                                    {
                                                        message = "Invalid email format.";
                                                        return false;
                                                    }
                                                }
                                                catch
                                                {
                                                    message = "Invalid email format.";
                                                    return false;
                                                }
                                            }
    
                                            // ADD PHONE VALIDATION HERE
                                            if (element.Name.ToLower().Contains("phone") && element.Value.IsString)
                                            {
                                                string phone = element.Value.AsString.Trim();
    
                                                if (!System.Text.RegularExpressions.Regex.IsMatch(phone, @"^\d{10}$"))
                                                {
                                                    message = "Phone number must contain exactly 10 digits.";
                                                    return false;
                                                }
                                            }
                                        }
                                    }
    
                                    message = string.Empty;
                                    return true;
                                }
                    Response:
                                        {
                                        "code": 200,
                                        "text": "Success",
                                        "data": "Admin added successfully"
                                        }
                        
                    
  • Get Admin UsersList POST /api/admins/adminuserlist_get

    This method is used to get Admin details. Returns response as JSON object.

    • Request URL : /api/admins/adminuserlist_get
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "admin_username": "string",
                            "admin_emailaddress":"string",
                            "course_type": "string",
                            "PageNumber": 0,
                            "PageSize": 0
                            }
                        
                    
                    
                            {
                            "code": 200,
                            "Success": true,
                            "Message": "Records retrieved successfully.",
                            "TotalRecords": 2,
                            "Data": [
                            {
                            "_id": "6a4b8be0ad73b3b1adcb7e4f",
                            "admin_username": "MOMO",
                            "admin_password": "1",
                            "course_type": "Edu",
                            "admin_information": {
                            "admin_firstname": "harika",
                            "admin_lastname": "harika",
                            "admin_emailaddress": "harika.ganapathi@dharani.co.in",
                            "admin_accesslevel_id": "Master Admin",
                            "is_admin_active": true,
                            "is_default_masteradmin": false,
                            "phone_number": "(123) 456-7890"
                            },
                            "us_trustees": {
                            "ustrustees_agencyId": "Njharika",
                            "ustrustees_loginId": "harika123",
                            "ustrustees_password": "L*3LTjuI@o%dZDQQ",
                            "ustrustees_issueridentity": "3344"
                            },
                            "two_factor_authentication": {
                            "enabled_2FA": false,
                            "authyId": "1934"
                            },
                            "admin_added_timestamp": "2025-05-29T08:26:54.083Z",
                            "admin_updated_timestamp": "2025-05-29T08:26:54.083Z"
                            },
                            {
                            "_id": "6a4b8be0ad73b3b1adcb7e46",
                            "admin_username": "Harika",
                            "admin_password": "1",
                            "course_type": "Edu",
                            "admin_information": {
                            "admin_firstname": "harika",
                            "admin_lastname": "harika",
                            "admin_emailaddress": "harika.ganapathi@dharani.co.in",
                            "admin_accesslevel_id": "Admin",
                            "is_admin_active": true,
                            "is_default_masteradmin": false,
                            "phone_number": "(111) 111-1111"
                            },
                            "two_factor_authentication": {
                            "enabled_2FA": true,
                            "authyId": "9775668"
                            },
                            "admin_added_timestamp": "2023-07-10T05:35:05.8Z",
                            "admin_updated_timestamp": "2023-07-10T05:35:05.8Z"
                            }
                            ]
                            }
                        
                    

                    
                            {
                            "code": 0,
                            "text": "Failed",
                            "additionalText": "",
                            "paging": null,
                            "data": null
                            }
                        
                    

                    
    
                            {
                            "code": -1,
                            "text": "Unexpected error occurred",
                            "additionalText": "Unexpected error occurred",
                            "paging": null,
                            "data": null
                            }
    
                        
                     

                    
                    Request:
                            class AdminGetRequest
                            {
                            public string admin_username { get; set; }
                            public string admin_emailaddress { get; set; }
                            public string course_type { get; set; }
                            }
    
                            AdminRequest objAdminRequest = new AdminRequest();
                            objAdminRequest.admin_username="sample";
                            objAdminRequest.admin_emailaddress = "rssr4@g.c";
                            objAdminRequest.course_type = "sampleapi";
    
                    Code:
                            public ApiResponse> GetAll(string collectionName, FilterDefinition filter, PaginationRequest request)
                            {
                                var sort = Builders.Sort.Descending("_id");
                                var totalRecords = _mongoDBContext.CountDocuments(collectionName, filter);
                                var documents = _mongoDBContext.GetPagedData( collectionName,filter,sort,request.PageNumber,request.PageSize);
                                var response = documents
                                                .Select(BsonHelper.ConvertDocument)
                                                .ToList();
    
                                return new ApiResponse>
                                {
                                    Success = true,
                                    Message = response.Any()
                                    ? "Records retrieved successfully."
                                    : "No records found.",
                                    TotalRecords = totalRecords,
                                    Data = response
                                    };
                                }
                        
                    
  • Attorney Create POST /api/attorney/attorney_add

    This method is used to create new Attorney. Returns response as JSON object.

    • Request URL : /api/attorney/attorney_add
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "firm_name": "string",
                            "attorney_first_name": "string",
                            "attorney_last_name": "string",
                            "attorney_email_id": "string",
                            "attorney_phone_no": "string",
                            "attorney_fax": "string",
                            "AdditionalEmail1": "string",
                            "AdditionalEmail2": "string",
                            "AdditionalEmail3": "string",
                            "AdditionalEmail4": "string",
                            "AdditionalEmail5": "string",
                            "AdditionalEmail6": "string",
                            "AdditionalEmail7": "string",
                            "AdditionalEmail8": "string",
                            "AdditionalEmail9": "string",
                            "AdditionalEmail10": "string",
                            "AdditionalEmail11": "string",
                            "AdditionalEmail12": "string",
                            "AdditionalEmail13": "string",
                            "AdditionalEmail14": "string",
                            "AdditionalEmail15": "string",
                            "AdditionalEmail16": "string",
                            "AdditionalEmail17": "string",
                            "AdditionalEmail18": "string",
                            "AdditionalEmail19": "string",
                            "AdditionalEmail20": "string",
                            "is_certificate_filed": true,
                            "is_billing_approval": true,
                            "address": {
                            "address_line1": "string",
                            "city": "string",
                            "state": "string",
                            "zip": "string"
                            },
                            "billing_address": {
                            "address_line1": "string",
                            "city": "string",
                            "state": "string",
                            "zip": "string"
                            },
                            "card_details": {
                            "card_first_name": "string",
                            "card_last_name": "string",
                            "card_type": "string",
                            "credit_card_number": "string",
                            "credit_card_exp_month": "string",
                            "credit_card_exp_year": "string"
                            }
                            }
                        
                    
    Parameters Validation
    firm_name Required
    attorney_first_name Required
    attorney_last_name Required
    attorney_email_id Required and should be a valid email
    attorney_phone_no Required and should be 10 digits.
    address_line1 Required
    city Required
    state Required
    zip Required
    is_certificate_filed Required
    is_billing_approval Required
                    
                    {
                      "code": 200,
                      "text": "Success",
                      "data": "Attorney added successfully"
                    }
                    
                    

                    
                    {
                      "code": 0,
                      "text": "Invalid Email Format'",            
                      "data": null
                    }
                    
                    

                    
                    {
                      "code": -1,
                      "text": "Unexpected error occurred",         
                      "data": null
                    }
                    
                    

                    
                    Request:
                            public class AttorneyRequest
                            {
                            public string firm_name { get; set; }
                            public string attorney_first_name { get; set; }
                            public string attorney_last_name { get; set; }
                            public string attorney_email_id { get; set; }
                            public string attorney_phone_no { get; set; }
                            public string attorney_fax { get; set; }
                            public string AdditionalEmail1 { get; set; }
                            public string AdditionalEmail2 { get; set; }
                            public string AdditionalEmail3 { get; set; }
                            public string AdditionalEmail4 { get; set; }
                            public string AdditionalEmail5 { get; set; }
                            public string AdditionalEmail6 { get; set; }
                            public string AdditionalEmail7 { get; set; }
                            public string AdditionalEmail8 { get; set; }
                            public string AdditionalEmail9 { get; set; }
                            public string AdditionalEmail10 { get; set; }
                            public string AdditionalEmail11 { get; set; }
                            public string AdditionalEmail12 { get; set; }
                            public string AdditionalEmail13 { get; set; }
                            public string AdditionalEmail14 { get; set; }
                            public string AdditionalEmail15 { get; set; }
                            public string AdditionalEmail16 { get; set; }
                            public string AdditionalEmail17 { get; set; }
                            public string AdditionalEmail18 { get; set; }
                            public string AdditionalEmail19 { get; set; }
                            public string AdditionalEmail20 { get; set; }
                            public bool is_certificate_filed { get; set; }
                            public bool is_billing_approval { get; set; }
                            public Address address { get; set; }
                            public BillingAddress billing_address { get; set; }
                            public CardDetails card_details { get; set; }
                            }
                            public class Address
                            {
                            public string address_line1 { get; set; }
                            public string city { get; set; }
                            public string state { get; set; }
                            public string zip { get; set; }
                            }
                            public class BillingAddress
                            {
                            public string address_line1 { get; set; }
                            public string city { get; set; }
                            public string state { get; set; }
                            public string zip { get; set; }
                            }
                            public class CardDetails
                            {
                            public string card_first_name { get; set; }
                            public string card_last_name { get; set; }
                            public string card_type { get; set; }
                            public string credit_card_number { get; set; }
                            public string credit_card_exp_month { get; set; }
                            public string credit_card_exp_year { get; set; }
                            }
                            AttorneyRequest objAttorneyRequest = new AttorneyRequest();
                            objAttorneyRequest.firm_name = "ABC Legal Associates";
                            objAttorneyRequest.attorney_first_name = "John";
                            objAttorneyRequest.attorney_last_name = "Doe";
                            objAttorneyRequest.attorney_email_id = "john.doe@abclegal.com";
                            objAttorneyRequest.attorney_phone_no = "9876543210";
                            objAttorneyRequest.attorney_fax = "04012345678";
                            objAttorneyRequest.AdditionalEmail1 = "billing@abclegal.com";
                            objAttorneyRequest.AdditionalEmail2 = "accounts@abclegal.com";
                            objAttorneyRequest.AdditionalEmail3 = "support@abclegal.com";
                            objAttorneyRequest.AdditionalEmail4 = "assistant@abclegal.com";
                            objAttorneyRequest.AdditionalEmail5 = "legal1@abclegal.com";
                            objAttorneyRequest.AdditionalEmail6 = "legal2@abclegal.com";
                            objAttorneyRequest.AdditionalEmail7 = "office@abclegal.com";
                            objAttorneyRequest.AdditionalEmail8 = "contact@abclegal.com";
                            objAttorneyRequest.AdditionalEmail9 = "review@abclegal.com";
                            objAttorneyRequest.AdditionalEmail10 = "manager@abclegal.com";
                            objAttorneyRequest.AdditionalEmail11 = "team1@abclegal.com";
                            objAttorneyRequest.AdditionalEmail12 = "team2@abclegal.com";
                            objAttorneyRequest.AdditionalEmail13 = "operations@abclegal.com";
                            objAttorneyRequest.AdditionalEmail14 = "records@abclegal.com";
                            objAttorneyRequest.AdditionalEmail15 = "finance@abclegal.com";
                            objAttorneyRequest.AdditionalEmail16 = "hr@abclegal.com";
                            objAttorneyRequest.AdditionalEmail17 = "admin@abclegal.com";
                            objAttorneyRequest.AdditionalEmail18 = "collections@abclegal.com";
                            objAttorneyRequest.AdditionalEmail19 = "info@abclegal.com";
                            objAttorneyRequest.AdditionalEmail20 = "help@abclegal.com";
                            objAttorneyRequest.is_certificate_filed = true;
                            objAttorneyRequest.is_billing_approval = false;
                            objAttorneyRequest.address = new Address();
                            objAttorneyRequest.address.address_line1 = "123 Main Street";
                            objAttorneyRequest.address.city = "Dallas";
                            objAttorneyRequest.address.state = "TX";
                            objAttorneyRequest.address.zip = "75001";
                            objAttorneyRequest.billing_address = new BillingAddress();
                            objAttorneyRequest.billing_address.address_line1 = "456 Business Avenue";
                            objAttorneyRequest.billing_address.city = "Houston";
                            objAttorneyRequest.billing_address.state = "TX";
                            objAttorneyRequest.billing_address.zip = "77001";
                            objAttorneyRequest.card_details = new CardDetails();
                            objAttorneyRequest.card_details.card_first_name = "John";
                            objAttorneyRequest.card_details.card_last_name = "Doe";
                            objAttorneyRequest.card_details.card_type = "Visa";
                            objAttorneyRequest.card_details.credit_card_number = "4111111111111111";
                            objAttorneyRequest.card_details.credit_card_exp_month = "08";
                            objAttorneyRequest.card_details.credit_card_exp_year = "2031";
    
    
    
                    Code:
                            public ApiResponse
                                Create(string collectionName, BsonDocument document)
                                {
                                document["createdDate"] = DateTime.UtcNow;
                                document["updatedDate"] = DateTime.UtcNow;
    
                                _mongoDBContext.InsertOne(collectionName, document);
    
                                return new ApiResponse
                                    {
                                    Success = true,
                                    TotalRecords = 1,
                                    Message = "Document created successfully.",
                                    Data = BsonHelper.ConvertDocument(document)
                                    };
                                    }
                    Response:
                                    {
                                    "code": 200,
                                    "text": "Success",
                                    "data": "Attorney added successfully"
                                    }
                        
                    
  • Get Attorney UsersList POST /api/attorney/attorneylist_get

    This method is used to get attorney details. Returns response as JSON object.

    • Request URL : /api/attorney/attorneylist_get
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "firm_name": "string",
                            "attorney_email_id": "string",
                            "attorney_first_name": "string",
                            "attorney_last_name": "string",
                            "PageNumber": 0,
                            "PageSize": 0
                            }
                        
                    
                    
                            {
                            "code": 200,
                            "Success": true,
                            "Message": "Records retrieved successfully.",
                            "TotalRecords": 1,
                            "Data": [
                            {
                            "_id": "6a4f394e4e582f1e192dea11",
                            "firm_name": "ABC Legal Associates",
                            "attorney_first_name": "John",
                            "attorney_last_name": "Doe",
                            "attorney_email_id": "john.doe@abclegal.com",
                            "attorney_phone_no": "9876543210",
                            "attorney_fax": "04012345678",
                            "is_certificate_filed": true,
                            "is_billing_approval": false,
                            "address": {
                            "address_line1": "123 Main Street",
                            "city": "Dallas",
                            "state": "TX",
                            "zip": "75001"
                            },
                            "billing_address": {
                            "address_line1": "456 Business Avenue",
                            "city": "Houston",
                            "state": "TX",
                            "zip": "77001"
                            },
                            "card_details": {
                            "card_first_name": "John",
                            "card_last_name": "Doe",
                            "card_type": "Visa",
                            "credit_card_number": "xxxxxxxxxxxx1111",
                            "credit_card_exp_month": "08",
                            "credit_card_exp_year": "2031"
                            },
                            "emails": [
                            "billing@abclegal.com",
                            "accounts@abclegal.com",
                            "support@abclegal.com",
                            "assistant@abclegal.com",
                            "legal1@abclegal.com",
                            "legal2@abclegal.com",
                            "office@abclegal.com",
                            "contact@abclegal.com",
                            "review@abclegal.com",
                            "manager@abclegal.com",
                            "team1@abclegal.com",
                            "team2@abclegal.com",
                            "operations@abclegal.com",
                            "records@abclegal.com",
                            "finance@abclegal.com",
                            "hr@abclegal.com",
                            "admin@abclegal.com",
                            "collections@abclegal.com",
                            "info@abclegal.com",
                            "help@abclegal.com"
                            ],
                            "status": "Pending",
                            "attorney_requested_list": {
                            "request_from_site": "CC",
                            "request_added_time_stamp": "2026-07-09T06:01:50.02Z"
                            },
                            "createdDate": "2026-07-09T06:01:50.02Z",
                            "updatedDate": "2026-07-09T06:01:50.02Z"
                            }
                            ]
                            }
                        
                    

                    
                            {
                            "code": 0,
                            "text": "Failed",
                            "additionalText": "",
                            "paging": null,
                            "data": null
                            }
                        
                    

                    
    
                            {
                            "code": -1,
                            "text": "Unexpected error occurred",
                            "additionalText": "Unexpected error occurred",
                            "paging": null,
                            "data": null
                            }
    
                        
                    

                    
                    Request:
                            class AttorneyGetRequest
                            {
                            public string firm_name { get; set; }
                            public string attorney_email_id { get; set; }
                            public string attorney_first_name { get; set; }
                            public string attorney_last_name { get; set; }
                            }
                            AttorneyGetRequest objAttorneyGetRequest = new AttorneyGetRequest();
                            objAttorneyGetRequest.firm_name="sample";
                            objAttorneyGetRequest.attorney_email_id = "rssr4@g.c";
                            objAttorneyGetRequest.attorney_first_name = "sampleapi";
                            objAttorneyGetRequest.attorney_last_name = "sampleapi";
    
                    Code:
                            public ApiResponse> GetAll(string collectionName, FilterDefinition filter, PaginationRequest request)
                            {
                                 var sort = Builders.Sort.Descending("_id");
                                 var totalRecords = _mongoDBContext.CountDocuments(collectionName, filter);
                                 var documents = _mongoDBContext.GetPagedData(collectionName,filter,sort,request.PageNumber,request.PageSize);
                                 var response = documents.Select(BsonHelper.ConvertDocument).ToList();
                                 return new ApiResponse>
                                {
                                    Success = true,
                                    Message = response.Any() ? "Records retrieved successfully." : "No records found.",
                                    TotalRecords = totalRecords,
                                    Data = response
                                };
                            }
                        
                    
  • Primary Create POST /api/primary/primarydetails_add

    This method is used to create new Primary. Returns response as JSON object.

    • Request URL : /api/primary/primarydetails_add
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "course_type": "string",
                            "pagenumber": int,
                            "pagerouteurl": "string",
                            "pagecategory_en": "string"
                            "pagetitle_en":"string",
                            "audiourl_en":"string",
                            "audioduration_en":int,
                            "videourl_en":"string",
                            "videoduration_en":int,
                            "pagecategory_sp":"string",
                            "pagetitle_sp":"string",
                            "audiourl_sp":"string",
                            "audioduration_sp":int,
                            "videourl_sp":"string",
                            "videoduration_sp":int
                            }
                        
                    
    Parameters Validation
    course_type Required
    pagenumber Required
    pagerouteurl Required
    pagecategory_en Required
    pagetitle_en Required
    audiourl_en Required
    audioduration_en Required
    videourl_en Required
    videoduration_en Required
    pagecategory_sp Required
    pagetitle_sp Required
    audiourl_sp Required
    audioduration_sp Required
    videourl_sp Required
    videoduration_sp Required
                    
                    {
                      "code": 200,
                      "text": "Success",
                      "data": "Primary added successfully"
                    }
                    
                    

                    
                    {
                      "code": 0,
                      "text": "User doesn't Exsist'",            
                      "data": null
                    }
                    
                    

                    
                    {
                      "code": -1,
                      "text": "Unexpected error occurred",         
                      "data": null
                    }
                    
                    

                    
                    Request:
                            class PrimaryRequest
                            {
                            public string course_type { get; set; }
                            public int pagenumber { get; set; }
                            public string pagerouteurl { get; set; }
                            public string pagecategory_en { get; set; }
                            public string pagetitle_en { get; set; }
                            public string audiourl_en { get; set; }
                            public int audioduration_en { get; set; }
                            public string videourl_en { get; set; }
                            public int videoduration_en { get; set; }
                            public string pagecategory_sp { get; set; }
                            public string pagetitle_sp { get; set; }
                            public string audiourl_sp { get; set; }
                            public int audioduration_sp { get; set; }
                            public string videourl_sp { get; set; }
                            public int videoduration_sp { get; set; }
    
                            PrimaryRequest objPrimaryRequest = new PrimaryRequest();
    
                            objPrimaryRequest.course_type = "sampleapi";
                            objPrimaryRequest.pagenumber=1;
                            objPrimaryRequest.pagerouteurl="adminapi";
                            objPrimaryRequest.pagecategory_en = "firstapi";
                            objPrimaryRequest.pagetitle_en = "lastapi";
                            objPrimaryRequest.audiourl_en = "rssr4@g.c";
                            objPrimaryRequest.audioduration_en = 123;
                            objPrimaryRequest.videourl_en = "1234567890";
                            objPrimaryRequest.videoduration_en = 150;
                            objPrimaryRequest.pagecategory_sp = "firstapi";
                            objPrimaryRequest.pagetitle_sp = "lastapi";
                            objPrimaryRequest.audiourl_sp = "rssr4@g.c";
                            objPrimaryRequest.audioduration_sp = 123;
                            objPrimaryRequest.videourl_sp = "1234567890";
                            objPrimaryRequest.videoduration_sp = 150;
    
    
    
                    Code:
                            public ApiResponse
                                Create(string collectionName, BsonDocument document)
                                {
                                document["createdDate"] = DateTime.UtcNow;
                                document["updatedDate"] = DateTime.UtcNow;
    
                                _mongoDBContext.InsertOne(collectionName, document);
    
                                return new ApiResponse
                                    {
                                    Success = true,
                                    TotalRecords = 1,
                                    Message = "Document created successfully.",
                                    Data = BsonHelper.ConvertDocument(document)
                                    };
                                    }
                    Response:
                                    {
                                    "code": 200,
                                    "text": "Success",
                                    "data": "Primary added successfully"
                                    }
                        
                    
  • Get PrimaryDeatils List POST /api/primary/primarydetailslist_get

    This method is used to get Primary details. Returns response as JSON object.

    • Request URL : /api/primary/primarydetailslist_get
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "course_type": "string",
                            "pagetitle_en":"string",
                            "pagetitle_sp": "string",
                            "PageNumber": 0,
                            "PageSize": 0
                            }
                        
                    
                    
                            {
                            "code": 200,
                            "Success": true,
                            "Message": "Records retrieved successfully.",
                            "TotalRecords": 2,
                            "Data": [
                            {
                            "_id": "6a4c904a6344d1fb4d628fab",
                            "course_type": "CC",
                            "pagenumber": 6,
                            "pagerouteurl": "CourseBudgeting/Course_budgeting_Intro",
                            "pagecategory_en": "Budgeting",
                            "pagetitle_en": "Introduction to Budgeting",
                            "audiourl_en": "Pg6.mp3",
                            "audioduration_en": 38,
                            "videourl_en": "z0s7n9462c",
                            "videoduration_en": 48,
                            "pagecategory_sp": "Presupuesto",
                            "pagetitle_sp": "Introducción al Presupuesto",
                            "audiourl_sp": "Pg6.mp3",
                            "audioduration_sp": 44,
                            "videourl_sp": "5vfxlul9ek",
                            "videoduration_sp": 57
                            },
                            {
                            "_id": "6a4c904a6344d1fb4d628fa6",
                            "course_type": "CC",
                            "pagenumber": 1,
                            "pagerouteurl": "Course/Course_Intro",
                            "pagecategory_en": "Intro",
                            "pagetitle_en": "Introduction",
                            "audiourl_en": "Page1.mp3",
                            "audioduration_en": 127,
                            "videourl_en": "hscaiihvw4",
                            "videoduration_en": 146,
                            "pagecategory_sp": "Introducción",
                            "pagetitle_sp": "Introducción",
                            "audiourl_sp": "Page1.mp3",
                            "audioduration_sp": 108,
                            "videourl_sp": "ic8eqflzp2",
                            "videoduration_sp": 146
                            }
                            ]
                            }
    
                        
                    

                    
                            {
                            "code": 0,
                            "text": "Failed",
                            "additionalText": "",
                            "paging": null,
                            "data": null
                            }
                        
                    

                    
    
                            {
                            "code": -1,
                            "text": "Unexpected error occurred",
                            "additionalText": "Unexpected error occurred",
                            "paging": null,
                            "data": null
                            }
    
                        
                    

                    
                    Request:
                            class PrimaryRequestGet
                            {
                            public string course_type { get; set; }
                            public string pagetitle_en { get; set; }
                            public string pagetitle_sp { get; set; }
                            }
    
                            PrimaryRequestGet objPrimaryRequest = new PrimaryRequestGet();
                            objPrimaryRequest.course_type="sample";
                            objPrimaryRequest.pagetitle_en = "rssr4@g.c";
                            objPrimaryRequest.pagetitle_sp = "sampleapi";
    
                    Code:
                            public ApiResponse> GetAll(string collectionName, FilterDefinition filter, PaginationRequest request)
                            {
                                var sort = Builders.Sort.Descending("_id");
                                var totalRecords = _mongoDBContext.CountDocuments(collectionName, filter);
                                var documents = _mongoDBContext.GetPagedData( collectionName,filter,sort,request.PageNumber,request.PageSize);
                                var response = documents
                                                .Select(BsonHelper.ConvertDocument)
                                                .ToList();
    
                                return new ApiResponse>
                                {
                                    Success = true,
                                    Message = response.Any()
                                    ? "Records retrieved successfully."
                                    : "No records found.",
                                    TotalRecords = totalRecords,
                                    Data = response
                                    };
                                }
                        
                    
  • Product Create POST /api/product/Product_add

    This method is used to create new Product. Returns response as JSON object.

    • Request URL : /api/product/Product_add
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "category_name":"string",
                            "products_list":{
                                "product_name":"string",
                                "description":"string",
                                "images":"string",
                                "videos":"string",
                                "minimum_quantity":int,
                                "maximum_quantity":int,
                                "default_quantity":int,
                                "has_multiple_quantity":true,
                                "actual_price":decimal,
                                "discounted_price":decimal,
                                "product_shortcode":"string",
                                "page_url":"string",
                                "has_uspsdelivery":true,
                                "is_active":true,
                                "show_bestsellertag":true,
                                "show_newtag":true,
                                "is_outofstock":true,
                                "is_product_visbileornot":true,
                                "star_summary"{
                                    "rating1":int,
                                    "rating2":int,
                                    "rating3":int,
                                    "rating4":int,
                                    "rating5":int,
                                    "total_review":double,
                                    "total_review_count":int
                                    },
                                "subproduct_details":{
                                    "subproductname":"string",
                                    "image_url":"string",
                                    "has_shippingprice":true,
                                    "shipping_price":decimal,
                                    "is_subproduct_visibleornot":true,
                                    "price_quantinty":{
                                        "quantity":int,
                                        "actual_price":decimal,
                                        "discounted_price":decimal
                                    }
                                  }
                                }
                             }
                        
                    
    Parameters Validation
    category_name Required
    product_name Required
    description Required
    images Required
    product_shortcode Required
    page_url Required
    language Required
    rating1 Required
    rating2 Required
    rating3 Required
    rating4 Required
    rating5 Required
    total_review Required
    subproductname Required
                    
                    {
                      "code": 200,
                      "text": "Success",
                      "data": "Product added successfully"
                    }
                    
                    

                    
                    {
                      "code": 0,
                      "text": "User doesn't Exsist'",            
                      "data": null
                    }
                    
                    

                    
                    {
                      "code": -1,
                      "text": "Unexpected error occurred",         
                      "data": null
                    }
                    
                    

                    
                    Request:
                            class ProductRequest
                            {
                              public string category_name { get; set; }
                              public Listproducts_list { get; set; }
                            }
    
                            class Product
                            {
                              public string product_name { get; set; }
                              public string description { get; set; }
                              public Listimages { get; set; }
                              public Listvideos { get; set; }
                              public int minimum_quantity { get; set; }
                              public int maximum_quantity { get; set; }
                              public int default_quantity { get; set; }
                              public bool has_multiple_quantity { get; set; }
                              public decimal actual_price { get; set; }
                              public decimal discounted_price { get; set; }
                              public string product_shortcode { get; set; }
                              public string page_url { get; set; }
                              public bool has_uspsdelivery { get; set; }
                              public bool is_active { get; set; }
                              public bool show_bestsellertag { get; set; }
                              public bool show_newtag { get; set; }
                              public bool is_outofstock { get; set; }
                              public bool is_product_visbileornot { get; set; }
                              public string language { get; set; }
                              public StarSummary star_summary { get; set; }
                              public Listsubproduct_details { get; set; }
                            }
                            public class StarSummary
                            {
                               public int rating1 { get; set; }
                               public int rating2 { get; set; }
                               public int rating3 { get; set; }
                               public int rating4 { get; set; }
                               public int rating5 { get; set; }
                               public double total_review { get; set; }
                               public int total_review_count { get; set; }
                             }
    
                            public class SubProduct
                            {
                               public string subproductname { get; set; }
                               public string image_url { get; set; }
                               public bool has_shippingprice { get; set; }
                               public decimal shipping_price { get; set; }
                               public bool is_subproduct_visibleornot { get; set; }   
                               public Listprice_quantinty { get; set; }
                            }
    
                            public class PriceQuantity
                            {
                            public int quantity { get; set; }
                            public decimal actual_price { get; set; }
                            public decimal discounted_price { get; set; }
                            }
    
    
                            ProductRequest objProductRequest = new ProductRequest();
    
                            objProductRequest.category_name = "Sample Category";
                            objProductRequest.products_list = new List();
    
                            Product objProduct = new Product();
                            objProduct.product_name = "Budget Planner";
                            objProduct.description = "Sample product description";
                            objProduct.images = new List
                                {
                                "https://example.com/image1.jpg",
                                "https://example.com/image2.jpg"
                                };
                                objProduct.videos = new List
                                {
                                "https://example.com/video1.mp4"
                                };
                                objProduct.minimum_quantity = 1;
                                objProduct.maximum_quantity = 10;
                                objProduct.default_quantity = 1;
                                objProduct.has_multiple_quantity = true;
                                objProduct.actual_price = 500;
                                objProduct.discounted_price = 450;
                                objProduct.product_shortcode = "BP001";
                                objProduct.page_url = "https://example.com/budget-planner";
                                objProduct.has_uspsdelivery = true;
                                objProduct.is_active = true;
                                objProduct.show_bestsellertag = true;
                                objProduct.show_newtag = false;
                                objProduct.is_outofstock = false;
                                objProduct.is_product_visbileornot = true;
                                objProduct.language = "en";
    
                                objProduct.star_summary = new StarSummary();
                                objProduct.star_summary.rating1 = 2;
                                objProduct.star_summary.rating2 = 5;
                                objProduct.star_summary.rating3 = 10;
                                objProduct.star_summary.rating4 = 20;
                                objProduct.star_summary.rating5 = 100;
                                objProduct.star_summary.total_review = 4.6;
                                objProduct.star_summary.total_review_count = 137;
    
                                objProduct.subproduct_details = new List();
    
                                SubProduct subProduct = new SubProduct();
                                subProduct.subproductname = "Standard Edition";
                                subProduct.image_url = "https://example.com/subproduct.jpg";
                                subProduct.has_shippingprice = true;
                                subProduct.shipping_price = 50;
                                subProduct.is_subproduct_visibleornot = true;
    
                                subProduct.price_quantinty = new List();
    
                                PriceQuantity priceQty = new PriceQuantity();
                                priceQty.quantity = 1;
                                priceQty.actual_price = 500;
                                priceQty.discounted_price = 450;
    
                               subProduct.price_quantinty.Add(priceQty);
    
                               objProduct.subproduct_details.Add(subProduct);
    
                               objProductRequest.products_list.Add(objProduct);
    
    
    
                    Code:
                            public ApiResponse
                                Create(string collectionName, BsonDocument document)
                                {
                                document["createdDate"] = DateTime.UtcNow;
                                document["updatedDate"] = DateTime.UtcNow;
    
                                _mongoDBContext.InsertOne(collectionName, document);
    
                                return new ApiResponse
                                    {
                                    Success = true,
                                    TotalRecords = 1,
                                    Message = "Document created successfully.",
                                    Data = BsonHelper.ConvertDocument(document)
                                    };
                                    }
                    Response:
                                    {
                                    "code": 200,
                                    "text": "Success",
                                    "data": "Product added successfully"
                                    }
                    
                    
  • Get ProductList POST /api/product/productlist_get

    This method is used to get Product details. Returns response as JSON object.

    • Request URL : /api/product/productlist_get
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "category_name": "string",
                            "product_name":"string",
                            "product_shortcode": "string",
                            "language":"string",
                            "PageNumber": 0,
                            "PageSize": 0
                            }
                        
                    
                    
                            {
                            "code": 200,
                            "Success": true,
                            "Message": "Records retrieved successfully.",
                            "TotalRecords": 1,
                            "Data": [
                            {
                            "_id": "6a4cec1b914330eca486f614",
                            "category_name": "Others",
                            "products_list": [
                            {
                            "product_name": "Bankruptcy Court Records",
                            "description": "Instantly Order Your Bankruptcy Records Online",
                            "images": [
                            "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bankruptcy-records-main.png"
                            ],
                            "videos": [
                            "http://www.youtu.be/0mtD4TeK0DY?autoplay=0&autohide=1&controls=0&rel=0"
                            ],
                            "minimum_quantity": 5,
                            "maximum_quantity": 1,
                            "default_quantity": 0,
                            "has_multiple_quantity": false,
                            "actual_price": 15,
                            "discounted_price": 49.95,
                            "product_shortcode": "BCR",
                            "page_url": "bankruptcy-court-records.aspx",
                            "has_uspsdelivery": true,
                            "is_active": true,
                            "show_bestsellertag": true,
                            "show_newtag": false,
                            "is_outofstock": false,
                            "is_product_visbileornot": true,
                            "language": 301,
                            "star_summary": {
                            "rating1": 0,
                            "rating2": 3,
                            "rating3": 41,
                            "rating4": 74,
                            "rating5": 353,
                            "total_review": 4.6,
                            "total_review_count": 471
                            },
                            "subproduct_details": [
                            {
                            "subproductname": "Complete Bankruptcy File",
                            "image_url": "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bankruptcy-records-main.png",
                            "has_shippingprice": true,
                            "shipping_price": 19.95,
                            "is_subproduct_visibleornot": true,
                            "price_quantinty": [
                            {
                            "quantity": 1,
                            "actual_price": 150,
                            "discounted_price": 49.95
                            }
                            ]
                            },
                            {
                            "subproductname": "Bankruptcy Discharge Document",
                            "image_url": "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bankruptcy-records-main.png",
                            "has_shippingprice": true,
                            "shipping_price": 9.95,
                            "is_subproduct_visibleornot": true,
                            "price_quantinty": [
                            {
                            "quantity": 1,
                            "actual_price": 25,
                            "discounted_price": 34.95
                            }
                            ]
                            }
                            ]
                            },
                            {
                            "product_name": "Registros de la corte de bancarrota",
                            "description": "Solicite instantáneamente sus registros de bancarrota en línea",
                            "images": [
                            "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bankruptcy-records-main (4).png",
                            "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bankruptcy-records-main (4).png",
                            "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bankruptcy-records-main (4).png",
                            "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bankruptcy-records-main (4).png"
                            ],
                            "videos": [
                            "http://www.youtu.be/0mtD4TeK0DY?autoplay=0&autohide=1&controls=0&rel=0"
                            ],
                            "minimum_quantity": 5,
                            "maximum_quantity": 1,
                            "default_quantity": 0,
                            "has_multiple_quantity": false,
                            "actual_price": 15,
                            "discounted_price": 49.95,
                            "product_shortcode": "BCR",
                            "page_url": "bankruptcy-court-records.aspx",
                            "has_uspsdelivery": true,
                            "is_active": true,
                            "show_bestsellertag": true,
                            "show_newtag": false,
                            "is_outofstock": false,
                            "is_product_visbileornot": true,
                            "language": 302,
                            "star_summary": {
                            "rating1": 0,
                            "rating2": 3,
                            "rating3": 41,
                            "rating4": 74,
                            "rating5": 353,
                            "total_review": 4.6,
                            "total_review_count": 471
                            },
                            "subproduct_details": [
                            {
                            "subproductname": "Archivo completo de quiebra",
                            "image_url": "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bankruptcy-records-main.png",
                            "has_shippingprice": true,
                            "shipping_price": 19.95,
                            "is_subproduct_visibleornot": true,
                            "price_quantinty": [
                            {
                            "quantity": 1,
                            "actual_price": 150,
                            "discounted_price": 49.95
                            }
                            ]
                            },
                            {
                            "subproductname": "Documento de descarga de bancarrota",
                            "image_url": "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bankruptcy-records-main (1).png",
                            "has_shippingprice": true,
                            "shipping_price": 9.95,
                            "is_subproduct_visibleornot": true,
                            "price_quantinty": [
                            {
                            "quantity": 1,
                            "actual_price": 25,
                            "discounted_price": 10
                            }
                            ]
                            }
                            ]
                            }
                            ]
                            }
                            ]
                            }
                        
                    

                    
                            {
                            "code": 0,
                            "text": "Failed",
                            "additionalText": "",
                            "paging": null,
                            "data": null
                            }
                        
                    

                    
    
                            {
                            "code": -1,
                            "text": "Unexpected error occurred",
                            "additionalText": "Unexpected error occurred",
                            "paging": null,
                            "data": null
                            }
    
                        
                    

                    
                    Request:
                            class ProductGetRequest
                            {
                            public string category_name { get; set; }
                            public string product_name { get; set; }
                            public string product_shortcode { get; set; }
                            public string language { get; set; }
                            }
    
                            ProductGetRequest objProductRequest = newProductGetRequest();
                            objProductRequest.category_name="Others";
                            objProductRequest.product_name = "Teen Books";
                            objProductRequest.product_shortcode = "TB";
                            objProductRequest.language ="English"
    
                    Code:
                            public ApiResponse> GetAll(string collectionName, FilterDefinition filter, PaginationRequest request)
                            {
                                var sort = Builders.Sort.Descending("_id");
                                var totalRecords = _mongoDBContext.CountDocuments(collectionName, filter);
                                var documents = _mongoDBContext.GetPagedData( collectionName,filter,sort,request.PageNumber,request.PageSize);
                                var response = documents
                                                .Select(BsonHelper.ConvertDocument)
                                                .ToList();
    
                                return new ApiResponse>
                                {
                                    Success = true,
                                    Message = response.Any()
                                    ? "Records retrieved successfully."
                                    : "No records found.",
                                    TotalRecords = totalRecords,
                                    Data = response
                                    };
                                }
                        
                    
  • Get ProductList By Search GET /api/product/productlistby_search

    This method is used to Search Product details. Returns response as JSON object.

    • Request URL : /api/product/productlistby_search
    • MethodType : GET
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "searchText":"string",
                            "PageNumber": 0,
                            "PageSize": 0
                            }
                        
                    
                    
                            {
                            "code": 200,
                            "Success": true,
                            "Message": "Records retrieved successfully.",
                            "TotalRecords": 1,
                            "Data": [
                            {
                            "_id": "6a4cec1b914330eca486f613",
                            "category_name": "Finance",
                            "products_list": [
                            {
                            "product_name": "Budget Planner",
                            "description": "Get your portable budget planner book now and take control of your finances!\n\n",
                            "images": [
                            "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bp-open.webp"
                            ],
                            "videos": [
                            "https://www.youtube.com/embed/0mtD4TeK0DY?autoplay=0&autohide=1&controls=0&rel=0"
                            ],
                            "minimum_quantity": 5,
                            "maximum_quantity": 1,
                            "default_quantity": 1,
                            "has_multiple_quantity": true,
                            "actual_price": 15,
                            "discounted_price": 20,
                            "product_shortcode": "BP",
                            "page_url": "budget-planner.aspx",
                            "has_uspsdelivery": true,
                            "is_active": true,
                            "show_bestsellertag": true,
                            "show_newtag": false,
                            "is_outofstock": false,
                            "is_product_visbileornot": true,
                            "language": 301,
                            "star_summary": {
                            "rating1": 0,
                            "rating2": 0,
                            "rating3": 35,
                            "rating4": 323,
                            "rating5": 1047,
                            "total_review": 4.9,
                            "total_review_count": 1405
                            },
                            "subproduct_details": [
                            {
                            "subproductname": "Navy-Blue",
                            "image_url": "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/navy-blue-bp.webp",
                            "has_shippingprice": false,
                            "shipping_price": 0,
                            "is_subproduct_visibleornot": true,
                            "price_quantinty": [
                            {
                            "quantity": 1,
                            "actual_price": 15,
                            "discounted_price": 20
                            },
                            {
                            "quantity": 2,
                            "actual_price": 40,
                            "discounted_price": 30
                            },
                            {
                            "quantity": 3,
                            "actual_price": 60,
                            "discounted_price": 40
                            },
                            {
                            "quantity": 4,
                            "actual_price": 80,
                            "discounted_price": 50
                            },
                            {
                            "quantity": 5,
                            "actual_price": 100,
                            "discounted_price": 60
                            }
                            ]
                            },
                            {
                            "subproductname": "Emerald-Green",
                            "image_url": "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/emerald-bp.png",
                            "has_shippingprice": false,
                            "shipping_price": 0,
                            "is_subproduct_visibleornot": false,
                            "price_quantinty": [
                            {
                            "quantity": 1,
                            "actual_price": 20,
                            "discounted_price": 10
                            },
                            {
                            "quantity": 2,
                            "actual_price": 25,
                            "discounted_price": 15
                            },
                            {
                            "quantity": 3,
                            "actual_price": 35,
                            "discounted_price": 20
                            },
                            {
                            "quantity": 4,
                            "actual_price": 35,
                            "discounted_price": 25
                            },
                            {
                            "quantity": 5,
                            "actual_price": 40,
                            "discounted_price": 30
                            }
                            ]
                            },
                            {
                            "subproductname": "Black",
                            "image_url": "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/black.png",
                            "has_shippingprice": false,
                            "shipping_price": 0,
                            "is_subproduct_visibleornot": false,
                            "price_quantinty": [
                            {
                            "quantity": 1,
                            "actual_price": 20,
                            "discounted_price": 15
                            },
                            {
                            "quantity": 2,
                            "actual_price": 25,
                            "discounted_price": 20
                            },
                            {
                            "quantity": 3,
                            "actual_price": 30,
                            "discounted_price": 25
                            },
                            {
                            "quantity": 4,
                            "actual_price": 37,
                            "discounted_price": 30
                            },
                            {
                            "quantity": 5,
                            "actual_price": 40,
                            "discounted_price": 35
                            }
                            ]
                            }
                            ]
                            },
                            {
                            "product_name": "Planificadora de presupuesto",
                            "description": "¡Obtenga su libro planificador de presupuesto portátil ahora y tome el control de sus finanzas!",
                            "images": [
                            " https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bp.png",
                            "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bp-open.png",
                            "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/budget-planner-2.png",
                            "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/stickers.png"
                            ],
                            "videos": [
                            "https://www.youtube.com/embed/0mtD4TeK0DY?autoplay=0&autohide=1&controls=0&rel=0"
                            ],
                            "minimum_quantity": 5,
                            "maximum_quantity": 1,
                            "default_quantity": 1,
                            "has_multiple_quantity": true,
                            "actual_price": 40,
                            "discounted_price": 20,
                            "product_shortcode": "BP",
                            "page_url": "budget-planner.aspx",
                            "has_uspsdelivery": true,
                            "is_active": true,
                            "show_bestsellertag": true,
                            "show_newtag": false,
                            "is_outofstock": false,
                            "is_product_visbileornot": true,
                            "language": 302,
                            "star_summary": {
                            "rating1": 0,
                            "rating2": 0,
                            "rating3": 35,
                            "rating4": 323,
                            "rating5": 1047,
                            "total_review": 4.9,
                            "total_review_count": 1405
                            },
                            "subproduct_details": [
                            {
                            "subproductname": "Azul-marino",
                            "image_url": "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/bp.webp",
                            "has_shippingprice": false,
                            "shipping_price": 0,
                            "is_subproduct_visibleornot": true,
                            "price_quantinty": [
                            {
                            "quantity": 1,
                            "actual_price": 15,
                            "discounted_price": 20
                            },
                            {
                            "quantity": 2,
                            "actual_price": 40,
                            "discounted_price": 30
                            },
                            {
                            "quantity": 3,
                            "actual_price": 60,
                            "discounted_price": 40
                            },
                            {
                            "quantity": 4,
                            "actual_price": 80,
                            "discounted_price": 50
                            },
                            {
                            "quantity": 5,
                            "actual_price": 100,
                            "discounted_price": 60
                            }
                            ]
                            },
                            {
                            "subproductname": "Verde Esmeralda",
                            "image_url": "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/emerald-bp.png",
                            "has_shippingprice": false,
                            "shipping_price": 0,
                            "is_subproduct_visibleornot": false,
                            "price_quantinty": [
                            {
                            "quantity": 1,
                            "actual_price": 20,
                            "discounted_price": 10
                            },
                            {
                            "quantity": 2,
                            "actual_price": 25,
                            "discounted_price": 15
                            },
                            {
                            "quantity": 3,
                            "actual_price": 35,
                            "discounted_price": 20
                            },
                            {
                            "quantity": 4,
                            "actual_price": 35,
                            "discounted_price": 25
                            },
                            {
                            "quantity": 5,
                            "actual_price": 40,
                            "discounted_price": 30
                            }
                            ]
                            },
                            {
                            "subproductname": "Negro",
                            "image_url": "https://s3.amazonaws.com/TESTCCEDU/CCPRODUCTSIMAGES/black.png",
                            "has_shippingprice": false,
                            "shipping_price": 0,
                            "is_subproduct_visibleornot": false,
                            "price_quantinty": [
                            {
                            "quantity": 1,
                            "actual_price": 20,
                            "discounted_price": 15
                            },
                            {
                            "quantity": 2,
                            "actual_price": 25,
                            "discounted_price": 20
                            },
                            {
                            "quantity": 3,
                            "actual_price": 30,
                            "discounted_price": 25
                            },
                            {
                            "quantity": 4,
                            "actual_price": 37,
                            "discounted_price": 30
                            },
                            {
                            "quantity": 5,
                            "actual_price": 40,
                            "discounted_price": 35
                            }
                            ]
                            }
                            ]
                            }
                            ]
                            }
                            ]
                            }
                        
                    

                    
                            {
                            "code": 0,
                            "text": "Failed",
                            "additionalText": "",
                            "paging": null,
                            "data": null
                            }
                        
                    

                    
    
                            {
                            "code": -1,
                            "text": "Unexpected error occurred",
                            "additionalText": "Unexpected error occurred",
                            "paging": null,
                            "data": null
                            }
    
                        
                    

                    
                    Request:
                           
                            {
                            public string searchText { get; set; }
                            }
    
                    Code:
                            public ApiResponse> Search(string searchText)
                            {
                                var regex = new BsonRegularExpression(searchText, "i");
    
                                var pipeline = new[]
                                {
                            // Match category or product
                            new BsonDocument("$match",
                                new BsonDocument("$or", new BsonArray
                                {
                                    new BsonDocument("category_name", regex),
                                    new BsonDocument("products_list.product_name", regex),
                                    new BsonDocument("products_list.product_shortcode", regex)
                                })),
    
                            // Return only matching products
                            new BsonDocument("$project",
                                new BsonDocument
                                {
                                    { "_id", 1 },
                                    { "category_name", 1 },
    
                                    {
                                        "products_list",
                                        new BsonDocument("$cond",
                                            new BsonArray
                                            {
                                                // If category matches return all products
                                                new BsonDocument("$regexMatch",
                                                    new BsonDocument
                                                    {
                                                        { "input", "$category_name" },
                                                        { "regex", searchText },
                                                        { "options", "i" }
                                                    }),
    
                                                "$products_list",
    
                                                // Else return only matching products
                                                new BsonDocument("$filter",
                                                    new BsonDocument
                                                    {
                                                        { "input", "$products_list" },
                                                        { "as", "product" },
                                                        {
                                                            "cond",
                                                            new BsonDocument("$or", new BsonArray
                                                            {
                                                                new BsonDocument("$regexMatch",
                                                                    new BsonDocument
                                                                    {
                                                                        { "input", "$$product.product_name" },
                                                                        { "regex", searchText },
                                                                        { "options", "i" }
                                                                    }),
    
                                                                new BsonDocument("$regexMatch",
                                                                    new BsonDocument
                                                                    {
                                                                        { "input", "$$product.product_shortcode" },
                                                                          { "regex", "^" + searchText + "$" },
                                                                        { "options", "i" }
                                                                    })
                                                            })
                                                        }
                                                    })
                                            })
                                    }
                                })
                        };
    
                                var documents = _mongoDBContext.Aggregate("Products", pipeline);
    
                                var response = documents
                                    .Select(BsonHelper.ConvertDocument)
                                    .ToList();
    
                                return new ApiResponse>
                                {
                                    Success = true,
                                    Message = response.Any()
                                        ? "Records retrieved successfully."
                                        : "No records found.",
                                    TotalRecords = response.Count,
                                    Data = response
                                };
                            }
                                    Response:
                                     {
                                        "code": 200,
                                        "text": "Success",
                                        "data": [
                                            {
                                            "category_name": "Books",
                                            "products_list": [
                                            {
                                            "product_name": "MongoDB Guide",
                                            "product_shortcode": "BK01"
                                            }
                                           ]
                                          }
                                         ]
                                      }
                        
                    
  • User Create POST api/user/userdetails_add

    This method is used to create new User. Returns response as JSON object.

    • Request URL : api/user/userdetails_add
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "email": "string",
                            "password": "string",
                            "enrollments":
                              {
                                "course_type ":"string",
                                "account_type ":"string",
                                "language ":"string",
                                "userfirst_name ":"string",
                                "userlast_name ":"string",
                                "spouse_details":
                                 {
                                    "first_name":"string",
                                    "last_name":"string"
                                 },
                                "contact_details":
                                {
                                    "phone_number":"string",
                                    "sms_optIn":true,
                                    "allow_receive_sms":true,
                                    "address":{
                                    "address1":"string",
                                    "city":"string",
                                    "state":"string",
                                    "zip_code":"string"
                                 },
                                 "household_size":int,
                                 "attorney_information":
                                 {
                                    "attorney_email":"string",
                                    "attorney_name":"string",
                                    "attorney_phone":"string",
                                    "billing_code":"string"
                                 },
                                 "payment_flags":
                                 {
                                    "course_paid":true,
                                    "certificate_paid":true,
                                    "video_paid":true,
                                    "filing_paid":true
                                  },
                                  "identity_verification":
                                 {
                                    "verifyIdentity_question":"string",
                                    "verifyIdentity_answer":"string",
                                    "verifyIdentity_spouse_question":"string",
                                    "verifyIdentity_spouse_answer":"string"
                                 },
                                 "caseinfo":
                                 {
                                    "case_number":"string",
                                    "user_ssn":"string",
                                    "spouse_ssn":"string",
                                    "judicial_district_state":"string",
                                    "judicial_district_county":"string",
                                    "chapter_number":"string"
                                 },
                                 "is_newsletter_remainder":true
                            },
                            "creditCards": 
                            {
                            "first_name":"string",
                            "last_name":"string",
                            "credit_card_number":"string",
                            "card_type":"string",
                            "expiry_month":"string",
                            "expiry_year":"string",
                            "is_default":true
                            }
                           }
                        
                    
    Parameters Validation
    email Required and should be valid.
    password Required
    course_type Required
    account_type Required
    language Required
    userfirst_name Required
    userlast_name Required
    phone_number Required and should be 10 digits.
    sms_optIn Required
    allow_receive_sms Required
    address1 Required
    city Required
    state Required
    zip_code Required
    household_size Required
    verifyIdentity_question Required
    verifyIdentity_answer Required
    user_ssn Required
    judicial_district_state Required
    is_newsletter_remainder Required
    first_name Required
    last_name Required
    credit_card_number Required
    card_type Required
    expiry_month Required
    expiry_year Required
    is_default Required
                    
                    {
                      "code": 200,
                      "text": "Success",
                      "data": "User added successfully"
                    }
                    
                    

                    
                    {
                      "code": 0,
                      "text": "User doesn't Exsist'",            
                      "data": null
                    }
                    
                    

                    
                    {
                      "code": -1,
                      "text": "Unexpected error occurred",         
                      "data": null
                    }
                    
                    

                    
                    Request:
                            public class UserRequest
                            {
                            public string email { get; set; }
                            public string password { get; set; }
                            public Listenrollments { get; set; } = new List();
                            public ListcreditCards { get; set; } = new List();
                            }
                            public class Enrollment
                            {
                            public string course_type { get; set; }
                            public string account_type { get; set; }
                            public string language { get; set; }
                            public string userfirst_name { get; set; }
                            public string userlast_name { get; set; }
                            public SpouseDetails spouse_details { get; set; }
                            public ContactDetails contact_details { get; set; }
                            public int household_size { get; set; }
                            public AttorneyAddressRequest attorney_information { get; set; }
                            public PaymentFlags payment_flags { get; set; }
                            public IdentityVerification identity_verification { get; set; }
                            public CaseInfo caseinfo { get; set; }
                            public bool is_newsletter_remainder { get; set; }
                            }
                            public class SpouseDetails{
                            public string first_name { get; set; }
                            public string last_name { get; set; }
                            }
                            public class ContactDetails
                            {
                            public string phone_number { get; set; }
                            public bool sms_optIn { get; set; }
                            public bool allow_receive_sms { get; set; }
                            public AddressDetails address { get; set; }
                            }
                            public class AddressDetails
                            {
                            public string address1 { get; set; }
                            public string city { get; set; }
                            public string state { get; set; }
                            public string zip_code { get; set; }
                            }
                            public class AttorneyAddressRequest
                            {
                            public string attorney_email { get; set; }
                            public string attorney_name { get; set; }
                            public string attorney_phone { get; set; }
                            public string billing_code { get; set; }
                            }
                            public class PaymentFlags
                            {
                            public bool course_paid { get; set; }
                            public bool certificate_paid { get; set; }
                            public bool video_paid { get; set; }
                            public bool filing_paid { get; set; }
                            }
                            public class IdentityVerification
                            {
                            public string verifyIdentity_question { get; set; }
                            public string verifyIdentity_answer { get; set; }
                            public string verifyIdentity_spouse_question { get; set; }
                            public string verifyIdentity_spouse_answer { get; set; }
                            }
                            public class CaseInfo
                            {
                            public string case_number { get; set; }
                            public string user_ssn { get; set; }
                            public string spouse_ssn { get; set; }
                            public string judicial_district_state { get; set; }
                            public string judicial_district_county { get; set; }
                            public string chapter_number { get; set; }
                            }
                            public class CreditCard
                            {
                            public string first_name { get; set; }
                            public string last_name { get; set; }
                            public string credit_card_number { get; set; }
                            public string card_type { get; set; }
                            public string expiry_month { get; set; }
                            public string expiry_year { get; set; }
                            public bool is_default { get; set; }
                            }
    
    
    
                            UserRequest objUserRequest = new UserRequest();
    
                            objUserRequest.email  = "sampleapi";
                            objUserRequest.password ="samples123";
                            objUserRequest.enrollments=new Enrollment();
                            objUserRequest.enrollments.course_type ="cc";
                            objUserRequest.enrollments.account_type = "single";
                            objUserRequest.enrollments.language = "English";
                            objUserRequest.enrollments.userfirst_name = "rssr";
                            objUserRequest.enrollments.userlast_name  = "jk";
                            enrollments.spouse_details=new SpouseDetails();
                            objUserRequest.enrollments.spouse_details.first_name = "nancy";
                            objUserRequest.enrollments.spouse_details.last_name  = "byer";
                            enrollments.contact_details=new ContactDetails();
                            objUserRequest.enrollments.contact_details.phone_number  = "1234567891";
                            objUserRequest.enrollments.contact_details.sms_optIn  = true;
                            objUserRequest.enrollments.contact_details.allow_receive_sms  = true;
                            contact_details.address=new AddressDetails();
                            objUserRequest.enrollments.contact_details.address.address1  = "westend";
                            objUserRequest.enrollments.contact_details.address.city  = "Missouri";
                            objUserRequest.enrollments.contact_details.address.state  = "st.louis";
                            objUserRequest.enrollments.contact_details.address.zip_code  = "22525";
                            objUserRequest.enrollments.household_size =1;
                            enrollments.attorney_information=new AttorneyAddressRequest();
                            objUserRequest.enrollments.attorney_information.attorney_email ="attorney2gmail.com";
                            objUserRequest.enrollments.attorney_information.attorney_name  = "firstattorney";
                            objUserRequest.enrollments.attorney_information.attorney_phone  = "lastattorney";
                            objUserRequest.enrollments.attorney_information.billing_code  = "crdw11";
                            enrollments.payment_flags=new PaymentFlags();
                            objUserRequest.enrollments.payment_flags.course_paid  = yes;
                            objUserRequest.enrollments.payment_flags.certificate_paid  = yes;
                            objUserRequest.enrollments.payment_flags.video_paid  = yes;
                            objUserRequest.enrollments.payment_flags.filing_paid  = yes;
                            enrollments.identity_verification=new IdentityVerification();
                            objUserRequest.enrollments.identity_verification.verifyIdentity_question  = "Born place";
                            objUserRequest.enrollments.identity_verification.verifyIdentity_answer  = "jcahd";
                            objUserRequest.enrollments.identity_verification.verifyIdentity_spouse_question  = "fav show";
                            objUserRequest.enrollments.identity_verification.verifyIdentity_spouse_answer  = "bjhahs";
                            enrollments.caseinfo=new CaseInfo();
                            objUserRequest.enrollments.caseinfo.case_number  = 1123444525;
                            objUserRequest.enrollments.caseinfo.user_ssn   = 1550;
                            objUserRequest.enrollments.caseinfo.spouse_ssn   = 2550;
                            objUserRequest.enrollments.caseinfo.judicial_district_state  = "bdfgsdv";
                            objUserRequest.enrollments.caseinfo.judicial_district_county   = "fvsdf";
                            objUserRequest.enrollments.caseinfo.chapter_number   = 14;
                            objUserRequest.enrollments.is_newsletter_remainder   = yes;
                            objUserRequest.creditCards=new CreditCard();
                            objUserRequest.creditCards.first_name  = "tom";
                            objUserRequest.creditCards.last_name   = "louis";
                            objUserRequest.creditCards.credit_card_number  = "xxxxxxxxxxxx7585";
                            objUserRequest.creditCards.card_type   = "visa";
                            objUserRequest.creditCards.expiry_month   = "04";
                            objUserRequest.creditCards.expiry_year   = "2050";
                            objUserRequest.creditCards.is_default   = yes;
    
                    Code:
                            public ApiResponseCreate(string collectionName, BsonDocument document)
                            {
                                if (!ValidateDocument(document, out string errorMessage))
                                {
                                return new ApiResponse
                                    {
                                    Success = false,
                                    Message = errorMessage
                                    };
                                    }
    
    
                                    document["createdDate"] = DateTime.UtcNow;
                                    document["updatedDate"] = DateTime.UtcNow;
    
                                    _mongoDBContext.InsertOne(collectionName, document);
    
                                    return new ApiResponse
                                        {
                                        Success = true,
                                        TotalRecords = 1,
                                        Message = "Document created successfully.",
                                        Data = BsonHelper.ConvertDocument(document)
                                        };
                                        }
                               }
                                private bool ValidateDocument(BsonDocument document, out string message)
                                {
                                    foreach (var element in document.Elements)
                                    {
                                        if (element.Value.IsBsonDocument)
                                        {
                                            if (!ValidateDocument(element.Value.AsBsonDocument, out message))
                                                return false;
                                        }
                                        else
                                        {
                                            // Email Validation
                                            if (element.Name.ToLower().Contains("email") && element.Value.IsString)
                                            {
                                                try
                                                {
                                                    string email = element.Value.AsString;
    
                                                    var mail = new MailAddress(email);
    
                                                    if (mail.Address != email)
                                                    {
                                                        message = "Invalid email format.";
                                                        return false;
                                                    }
                                                }
                                                catch
                                                {
                                                    message = "Invalid email format.";
                                                    return false;
                                                }
                                            }
    
                                            // ADD PHONE VALIDATION HERE
                                            if (element.Name.ToLower().Contains("phone") && element.Value.IsString)
                                            {
                                                string phone = element.Value.AsString.Trim();
    
                                                if (!System.Text.RegularExpressions.Regex.IsMatch(phone, @"^\d{10}$"))
                                                {
                                                    message = "Phone number must contain exactly 10 digits.";
                                                    return false;
                                                }
                                            }
                                        }
                                    }
    
                                    message = string.Empty;
                                    return true;
                                }
                    Response:
                                {
                                  "code": 200,
                                  "text": "Success",
                                  "data": "User added successfully"
                                }
                        
                    
  • Get UserDetails List POST /api/user/userdeatilslist_get

    This method is used to get User details. Returns response as JSON object.

    • Request URL : /api/user/userdeatilslist_get
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "email": "string",
                            "first_name": "string",
                            "last_name": "string",
                            "PageNumber": 0,
                            "PageSize": 0
                            }
                        
                    
                    
                            {
                            "Success": true,
                            "Message": "Records retrieved successfully.",
                            "TotalRecords": 1,
                            "Data": [
                            {
                            "_id": "6a4f52e567713a7e384c992f",
                            "email": "harika.ganapathi+561@dharani.co.in",
                            "password": "1",
                            "enrollments": [
                            {
                            "course_type": "Edu",
                            "account_type": "joint",
                            "language": "English",
                            "userfirst_name": "harika",
                            "userlast_name": "harika",
                            "contact_details": {
                            "phone_number": "1234567890",
                            "sms_optIn": true,
                            "allow_receive_sms": true,
                            "address": {
                            "address1": "123 random",
                            "city": "GNT",
                            "state": "AL",
                            "zip_code": "12345"
                            }
                            },
                            "household_size": 2,
                            "payment_flags": {
                            "course_paid": true,
                            "certificate_paid": false,
                            "video_paid": false,
                            "filing_paid": false
                            },
                            "caseinfo": {
                            "case_number": "12-45678",
                            "user_ssn": "1111",
                            "judicial_district_state": "ALASKA",
                            "chapter_number": "7",
                            "primary_judicial_district_code": "730"
                            },
                            "is_newsletter_remainder": false,
                            "user_status_details": {
                            "is_user_active": true
                            }
                            },
                            {
                            "course_type": "CC",
                            "account_type": "joint",
                            "language": "English",
                            "userfirst_name": "harika",
                            "userlast_name": "Ganapathi",
                            "contact_details": {
                            "phone_number": "1234567890",
                            "sms_optIn": true,
                            "allow_receive_sms": true,
                            "address": {
                            "address1": "123 random",
                            "city": "GNT",
                            "state": "AL",
                            "zip_code": "12345"
                            }
                            },
                            "household_size": 2,
                            "payment_flags": {
                            "course_paid": true,
                            "certificate_paid": false,
                            "video_paid": false,
                            "filing_paid": false
                            },
                            "identity_verification": {
                            "verifyIdentity_question": "a",
                            "verifyIdentity_answer": "b",
                            "verifyIdentity_spouse_question": "a",
                            "verifyIdentity_spouse_answer": "b"
                            },
                            "caseinfo": {
                            "user_ssn": "1111",
                            "judicial_district_state": "ALASKA",
                            "primary_judicial_district_code": "1"
                            },
                            "is_newsletter_remainder": false,
                            "user_status_details": {
                            "is_user_active": true
                            }
                            }
                            ],
                            "creditCards": [
                            {
                            "first_name": "harika",
                            "last_name": "harika",
                            "credit_card_number": "4111111111111111",
                            "card_type": "Visa",
                            "expiry_month": "05",
                            "expiry_year": "28",
                            "is_default": true
                            }
                            ],
                            "createdDate": "2026-07-09T07:51:01.908Z",
                            "updatedDate": "2026-07-09T07:51:01.908Z"
                            }
                            ]
                            }
                        
                    

                    
                            {
     				 "Success": true,
     				 "Message": "No records found.",
      				"TotalRecords": 0,
      				"Data": []
    			}
                        
                    

                    
    
                            {
                            "code": -1,
                            "text": "Unexpected error occurred",
                            "additionalText": "Unexpected error occurred",
                            "paging": null,
                            "data": null
                            }
    
                        
                    

                    
                    Request:
                            public class UserRequestGet
                            {
                                public string email { get; set; }
                                public string first_name { get; set; }
                                public string last_name { get; set; }
                            }
                            UserRequestGet objUserRequestGet = new UserRequestGet();
                            objUserRequestGet.email="sample@gmail.com";
                            objUserRequestGet.first_name = "Sample First Name";
                            objUserRequestGet.last_name = "Sample last Name";
    
    
                    Code:
                            public IHttpActionResult Get([FromBody] UserRequestGet request)
                            {
                            if (request == null)
                            return BadRequest("Request body is required.");
    
                            if (!ModelState.IsValid)
                            {
                            var errors = ModelState.Values
                            .SelectMany(x => x.Errors)
                            .Select(x => x.ErrorMessage)
                            .ToList();
    
                            return Content(HttpStatusCode.BadRequest, new
                            {
                            Success = false,
                            Message = "Validation Failed",
                            Errors = errors
                            });
                            }
    
                            var filter = Builders
                                .Filter.Empty;
    
                                // Email
                                if (!string.IsNullOrWhiteSpace(request.email))
                                {
                                filter &= Builders
                                    .Filter.Eq(
                                    "email",
                                    request.email);
                                    }
    
    
    
                                    // First Name
                                    if (!string.IsNullOrWhiteSpace(request.first_name))
                                    {
                                    filter &= Builders
                                        .Filter.Regex(
                                        "enrollments.userfirst_name",
                                        new BsonRegularExpression(request.first_name, "i"));
                                        }
    
                                        // Last Name
                                        if (!string.IsNullOrWhiteSpace(request.last_name))
                                        {
                                        filter &= Builders
                                            .Filter.Regex(
                                            "enrollments.userlast_name",
                                            new BsonRegularExpression(request.last_name, "i"));
                                            }
    
                                            var result = _genericService.GetAll(
                                            "UserDetails",
                                            filter,
                                            request);
    
                                            return Ok(result);
                                            }
                        
                    
  • User Details Update POST /api/user/userdetails_update

    This method is used to update User details. Returns response as JSON object.

    • Request URL : /api/user/userdetails_update
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "email": "string",
                            "first_name": "string",
                            "last_name": "string",
                            "PageNumber": 0,
                            "PageSize": 0
                            }
                        
                    
    Parameters Validation
    email Required
    first_name Required
    last_name Required
                    
                            {
                                Success = true,
                                Message = "User updated successfully."
                            };
                        
                    

                    
                            {
                                "Success": false,
                                "Message": "User not found.",
                                "TotalRecords": 0,
                                "Data": null
                            }
                        
                    

                    
                            {
                            "code": -1,
                            "text": "Unexpected error occurred",
                            "additionalText": "Unexpected error occurred",
                            "paging": null,
                            "data": null
                            }
    
                        
                    

                    
                    Request:
    
                            public class UserDetailsUpdateRequest
                            {
                            public string first_name { get; set; }
                            public string last_name { get; set; }
                            public string email { get; set; }
                            public string language { get; set; }
                            public string course_type { get; set; }
                            }
                            UserDetailsUpdateRequest objUserDetailsUpdateRequest = new UserDetailsUpdateRequest();
                            objUserDetailsUpdateRequest.first_name = "Sample First Name";
                            objUserDetailsUpdateRequest.last_name = "Sample last Name";
                            objUserDetailsUpdateRequest.email="sample@gmail.com";
                            objUserDetailsUpdateRequest.language = "EN",
                            objUserDetailsUpdateRequest.course_type = "Edu"
    
                    Code:
                            public ApiResponse UpdateUser(UserDetailsUpdateRequest request)
                            {
                                var filter = Builders.Filter.Eq("email", request.email);
                                var existingUser = _mongoDBContext.FindOne("UserDetails",filter);
                                if (existingUser == null)
                                {
                                    return new ApiResponse
                                        {
                                        Success = false,
                                        Message = "User not found."
                                        };
                                }
                                // Check Course Exists
                                var enrollments = existingUser["enrollments"].AsBsonArray;
                                bool courseExists = enrollments.Any(x =>
                                x["course_type"].AsString.Equals(
                                request.course_type,
                                StringComparison.OrdinalIgnoreCase));
    
                                if (!courseExists)
                                {
                                    return new ApiResponse
                                        {
                                            Success = false,
                                            Message = "Course type not found."
                                        };
                                }
                                var updates = new List>();
                                if (!string.IsNullOrWhiteSpace(request.first_name))
                                {
                                    updates.Add(Builders.Update.Set("enrollments.$[course].userfirst_name",request.first_name));
                                }
                                if (!string.IsNullOrWhiteSpace(request.last_name))
                                {
                                    updates.Add(Builders.Update.Set(
                                        "enrollments.$[course].userlast_name",
                                        request.last_name));
                                }
                                if (!string.IsNullOrWhiteSpace(request.language))
                                {
                                    updates.Add(Builders.Update.Set(
                                        "enrollments.$[course].language",
                                        request.language));
                                }
                                if (!updates.Any())
                                {
                                    return new ApiResponse
                                    {
                                        Success = false,
                                        Message = "No fields available to update."
                                    };
                                }
                                var updateDefinition = Builders.Update.Combine(updates);
                                var options = new UpdateOptions
                                {
                                    ArrayFilters = new List
                                                    {
                                                        new BsonDocumentArrayFilterDefinition(
                                                            new BsonDocument("course.course_type", request.course_type))
                                                    }
                                };
                                _mongoDBContext.UpdateOne(
                                    "UserDetails",
                                    filter,
                                    updateDefinition,
                                    options);
                                return new ApiResponse
                                {
                                    Success = true,
                                    Message = "User updated successfully."
                                };
                            }
                        
                    
  • Exam Create POST /api/exam/userexamdetails_add

    This method is used to create new Exam . Returns response as JSON object.

    • Request URL : /api/exam/userexamdetails_add
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "user_email": "string",
                            "question1": {
                            "user_answer": "string"
                            },
                            "question2": {
                            "user_answer": "string"
                            },
                            "question3": {
                            "user_answer": "string"
                            },
                            "question4": {
                            "user_answer": "string"
                            },
                            "question5": {
                            "user_answer": "string"
                            },
                            "question6": {
                            "user_answer": "string"
                            },
                            "question7": {
                            "user_answer": "string"
                            },
                            "question8": {
                            "user_answer": "string"
                            },
                            "question9": {
                            "user_answer": "string"
                            },
                            "question10": {
                            "user_answer": "string"
                            },
                            "question11": {
                            "user_answer": "string"
                            },
                            "question12": {
                            "user_answer": "string"
                            },
                            "question13": {
                            "user_answer": "string"
                            },
                            "question14": {
                            "user_answer": "string"
                            },
                            "question15": {
                            "user_answer": "string"
                            },
                            "question16": {
                            "user_answer": "string"
                            },
                            "question17": {
                            "user_answer": "string"
                            },
                            "question18": {
                            "user_answer": "string"
                            },
                            "question19": {
                            "user_answer": "string"
                            },
                            "question20": {
                            "user_answer": "string"
                            }
                            }
                            }
                        
                    
    Parameters Validation
    user_email Required
    question1 Required
    question2 Required
    question3 Required
    question4 Required
    question5 Required
    question6 Required
    question7 Required
    question8 Required
    question9 Required
    question10 Required
    question11 Required
    question12 Required
    question13 Required
    question14 Required
    question15 Required
    question16 Required
    question17 Required
    question18 Required
    question19 Required
    question20 Required
                    
                    {
                      "code": 200,
                      "text": "Success",
                      "data": "Exam added successfully"
                    }
                    
                    

                    
                            {
                            "Success": false,
                            "Message": "User email not found.",
                            "TotalRecords": 0,
                            "Data": null
                            }
                        
                    

                    
                    {
                      "code": -1,
                      "text": "Unexpected error occurred",         
                      "data": null
                    }
                    
                    

                    
                    Request:
                            public class ExamRequest
                            {
                            public string user_email { get; set; }
    
                            public Questions question1 { get; set; }
                            public Questions question2 { get; set; }
                            public Questions question3 { get; set; }
                            public Questions question4 { get; set; }
                            public Questions question5 { get; set; }
                            public Questions question6 { get; set; }
                            public Questions question7 { get; set; }
                            public Questions question8 { get; set; }
                            public Questions question9 { get; set; }
                            public Questions question10 { get; set; }
                            public Questions question11 { get; set; }
                            public Questions question12 { get; set; }
                            public Questions question13 { get; set; }
                            public Questions question14 { get; set; }
                            public Questions question15 { get; set; }
                            public Questions question16 { get; set; }
                            public Questions question17 { get; set; }
                            public Questions question18 { get; set; }
                            public Questions question19 { get; set; }
                            public Questions question20 { get; set; }
                            }
    
                            public class Questions
                            {
                            public string user_answer { get; set; }
                            }
                            ExamRequest objExamRequest = new ExamRequest();
                            objExamRequest.user_email = "john.doe@gmail.com";
                            objExamRequest.question1 = new Questions();
                            objExamRequest.question1.user_answer = "a";
                            objExamRequest.question2 = new Questions();
                            objExamRequest.question2.user_answer = "c";
                            objExamRequest.question3 = new Questions();
                            objExamRequest.question3.user_answer = "b";
                            objExamRequest.question4 = new Questions();
                            objExamRequest.question4.user_answer = "d";
                            objExamRequest.question5 = new Questions();
                            objExamRequest.question5.user_answer = "a";
                            objExamRequest.question6 = new Questions();
                            objExamRequest.question6.user_answer = "b";
                            objExamRequest.question7 = new Questions();
                            objExamRequest.question7.user_answer = "d";
                            objExamRequest.question8 = new Questions();
                            objExamRequest.question8.user_answer = "c";
                            objExamRequest.question9 = new Questions();
                            objExamRequest.question9.user_answer = "a";
                            objExamRequest.question10 = new Questions();
                            objExamRequest.question10.user_answer = "d";
                            objExamRequest.question11 = new Questions();
                            objExamRequest.question11.user_answer = "b";
                            objExamRequest.question12 = new Questions();
                            objExamRequest.question12.user_answer = "c";
                            objExamRequest.question13 = new Questions();
                            objExamRequest.question13.user_answer = "a";
                            objExamRequest.question14 = new Questions();
                            objExamRequest.question14.user_answer = "d";
                            objExamRequest.question15 = new Questions();
                            objExamRequest.question15.user_answer = "c";
                            objExamRequest.question16 = new Questions();
                            objExamRequest.question16.user_answer = "b";
                            objExamRequest.question17 = new Questions();
                            objExamRequest.question17.user_answer = "a";
                            objExamRequest.question18 = new Questions();
                            objExamRequest.question18.user_answer = "d";
                            objExamRequest.question19 = new Questions();
                            objExamRequest.question19.user_answer = "b";
                            objExamRequest.question20 = new Questions();
                            objExamRequest.question20.user_answer = "c";
    
                    Code:
                             public ApiResponse CreateExam(ExamRequest request)
                            {
                                var userFilter = Builders.Filter.And(
                                Builders.Filter.Eq("email", request.user_email),
                                Builders.Filter.Eq("enrollments.course_type", "Edu"));
                                var userProjection = Builders.Projection.Include("_id").Include("email");
                                var user = _mongoDBContext.FindOne("UserDetails",userFilter,userProjection);
                                if (user == null)
                                {
                                    return new ApiResponse
                                    {
                                        Success = false,
                                        Message = "User email not found."
                                    };
                                }
                                var examFilter = Builders.Filter.Eq("user_email", request.user_email);
                                var examUser = _mongoDBContext.FindOne("Exam_UserDetails",examFilter);
                                if (examUser != null && examUser.Contains("exam_status") &&
                                  examUser["exam_status"].AsString == "Pass")
                                {
                                    return new ApiResponse
                                    {
                                        Success = false,
                                        Message = "User is not allowed to write the exam."
                                    };
                                }
                                var examProjection = Builders.Projection.Include("questions.question_id").Include("questions.answer");
                                var examDocument = _mongoDBContext.FindOne("ExamQuestions", Builders.Filter.Empty, examProjection);
                                if (examDocument == null)
                                {
                                    return new ApiResponse
                                    {
                                        Success = false,
                                        Message = "Exam questions not found."
                                    };
                                }
                                var questions = examDocument["questions"].AsBsonArray;
                                int correctAnswers = 0;
                                var userAnswers = new BsonArray();
                                foreach (BsonDocument question in questions)
                                {
                                    var property = typeof(ExamRequest).GetProperty($"question{question["question_id"]}");
    
                                    if (property == null)
                                        continue;
    
                                    var answer = (Questions)property.GetValue(request);
    
                                    if (answer != null &&
                                        answer.user_answer == question["answer"].AsString)
                                    {
                                        correctAnswers++;
                                    }
    
                                    userAnswers.Add(new BsonDocument
                                    {
                                        { "questionId", question["question_id"] },
                                        { "user_answer", answer?.user_answer ?? "" },
                                        { "correct_answer", question["answer"] }
                                    });
                                }
                                if (examUser == null)
                                {
                                    var document = new BsonDocument
                                        {
                                        { "user_email", request.user_email },
                                        { "exam_attempts", 1 },
                                        { "exam_status", correctAnswers >= 14 ? "Pass" : "Fail" },
                                        { "created_date", DateTime.UtcNow },
                                        { "updated_date", DateTime.UtcNow },
                                        { "questions", userAnswers } };
    
    
                                    return Create("Exam_UserDetails", document);
                                }
                                examUser["exam_attempts"] = examUser["exam_attempts"].AsInt32 + 1;
                                examUser["exam_status"] = correctAnswers >= 14 ? "Pass" : "Fail";
                                examUser["updated_date"] = DateTime.UtcNow;         
                                foreach (var answer in userAnswers)
                                {
                                    examUser["questions"].AsBsonArray.Add(answer);
                                }
                                return _genericService.Upsert("Exam_UserDetails", examFilter, examUser);
                            }
                        
                    
  • Get Exam UsersList POST /api/exam/userexamlist_get

    This method is used to get Exam details. Returns response as JSON object.

    • Request URL : /api/exam/userexamlist_get
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "user_email": "string",
                            "exam_status": "string",
                            "PageNumber": 0,
                            "PageSize": 0
                            }
                        
                    
                    
                            {
                            "Success": true,
                            "Message": "Records retrieved successfully.",
                            "TotalRecords": 1,
                            "Data": [
                            {
                            "_id": "6a4e3ec03624e6cb149a87b4",
                            "user_email": "apr17@g.c",
                            "exam_status": "Pass",
                            "exam_attempts": 1,
                            "created_date": "2020-04-17T07:50:45.423Z",
                            "attempts": [
                            {
                            "questions": [
                            {
                            "question_id": 1,
                            "user_answer": "c",
                            "correct_answer": "c"
                            },
                            {
                            "question_id": 2,
                            "user_answer": "c",
                            "correct_answer": "c"
                            },
                            {
                            "question_id": 3,
                            "user_answer": "a",
                            "correct_answer": "a"
                            },
                            {
                            "question_id": 4,
                            "user_answer": "a",
                            "correct_answer": "a"
                            },
                            {
                            "question_id": 5,
                            "user_answer": "a",
                            "correct_answer": "a"
                            },
                            {
                            "question_id": 6,
                            "user_answer": "c",
                            "correct_answer": "c"
                            },
                            {
                            "question_id": 19,
                            "user_answer": "a",
                            "correct_answer": "a"
                            },
                            {
                            "question_id": 20,
                            "user_answer": "c",
                            "correct_answer": "c"
                            },
                            {
                            "question_id": 13,
                            "user_answer": "d",
                            "correct_answer": "d"
                            },
                            {
                            "question_id": 14,
                            "user_answer": "a",
                            "correct_answer": "a"
                            },
                            {
                            "question_id": 15,
                            "user_answer": "a",
                            "correct_answer": "a"
                            },
                            {
                            "question_id": 16,
                            "user_answer": "b",
                            "correct_answer": "b"
                            },
                            {
                            "question_id": 17,
                            "user_answer": "d",
                            "correct_answer": "d"
                            },
                            {
                            "question_id": 18,
                            "user_answer": "b",
                            "correct_answer": "b"
                            },
                            {
                            "question_id": 7,
                            "user_answer": "a",
                            "correct_answer": "a"
                            },
                            {
                            "question_id": 8,
                            "user_answer": "c",
                            "correct_answer": "c"
                            },
                            {
                            "question_id": 9,
                            "user_answer": "d",
                            "correct_answer": "d"
                            },
                            {
                            "question_id": 10,
                            "user_answer": "b",
                            "correct_answer": "b"
                            },
                            {
                            "question_id": 11,
                            "user_answer": "a",
                            "correct_answer": "a"
                            },
                            {
                            "question_id": 12,
                            "user_answer": "b",
                            "correct_answer": "b"
                            }
                            ]
                            }
                            ]
                            }
                            ]
                            }
                        
                    

                    
                            {
                            "Success": true,
                            "Message": "No records found.",
                            "TotalRecords": 0,
                            "Data": []
                            }
                        
                    

                    
    
                            {
                            "code": -1,
                            "text": "Unexpected error occurred",
                            "additionalText": "Unexpected error occurred",
                            "paging": null,
                            "data": null
                            }
    
                        
                    

                    
                    Request:
                            public class ExamRequestGet
                            {
                            public string user_email { get; set; }
                            public string exam_status { get; set; }
    
                            }
                            ExamRequestGet objExamRequestGet = new AttorneyGetRequest();
                            ExamRequestGet.user_email = "rssr4@g.c";
                            ExamRequestGet.exam_status = "active";
    
                    Code:
                            public ApiResponse> GetAll(string collectionName, FilterDefinition filter, PaginationRequest request)
                            {
                                var sort = Builders.Sort.Descending("_id");
                                var totalRecords = _mongoDBContext.CountDocuments(collectionName, filter);
                                var documents = _mongoDBContext.GetPagedData(collectionName,filter,sort,request.PageNumber,request.PageSize);
                                var response = documents.Select(BsonHelper.ConvertDocument).ToList();
                                return new ApiResponse>
                                {
                                    Success = true,
                                    Message = response.Any()
                                    ? "Records retrieved successfully."
                                    : "No records found.",
                                    TotalRecords = totalRecords,
                                    Data = response
                                };
                            }
    
    
                        
                    
  • Survey Create POST /api/survey/surveydetails_add

    This method is used to create new Servey . Returns response as JSON object.

    • Request URL : /api/survey/surveydetails_add
    • MethodType : POST
    • Parameter Type : JSON Object in BODY

                    
                            {
                            "email": "string",
                            "overall_rating": 0,
                            "budget_importance": 0,
                            "money_management": 0,
                            "credit_wisely": 0,
                            "financial_crisis": 0,
                            "consumer_information": 0,
                            "goals_explained": 0,
                            "course_topics": 0,
                            "material": 0,
                            "course_content": 0,
                            "learned_useful": 0,
                            "home_budget": 0
                            }
                        
                    
    Parameters Validation
    email Required
    overall_rating Required
    budget_importance Required
    money_management Required
    credit_wisely Required
    financial_crisis Required
    consumer_information Required
    goals_explained Required
    course_topics Required
    material Required
    course_content Required
    learned_useful Required
    home_budget Required
                    
                    {
                      "code": 200,
                      "text": "Success",
                      "data": "Survey added successfully"
                    }
                    
                    

                    
                            {
                            "Message": "Email doesn't Exist"
                            }
                        
                    

                    
                    {
                      "code": -1,
                      "text": "Unexpected error occurred",         
                      "data": null
                    }
                    
                    

                    
                    Request:
                            public class SurveyRequest
                            {
                            public string email { get; set; }
                            public int overall_rating { get; set; }
                            public int budget_importance { get; set; }
                            public int money_management { get; set; }
                            public int credit_wisely { get; set; }
                            public int financial_crisis { get; set; }
                            public int consumer_information { get; set; }
                            public int goals_explained { get; set; }
                            public int course_topics { get; set; }
                            public int material { get; set; }
                            public int course_content { get; set; }
                            public int learned_useful { get; set; }
                            public int home_budget { get; set; }
                            }
                            SurveyRequest objSurveyRequest = new SurveyRequest();
                            objSurveyRequest.email = "sample@gmail.com";
                            objSurveyRequest.overall_rating = 5;
                            objSurveyRequest.budget_importance = 4;
                            objSurveyRequest.money_management = 5;
                            objSurveyRequest.credit_wisely = 3;
                            objSurveyRequest.financial_crisis = 4;
                            objSurveyRequest.consumer_information = 5;
                            objSurveyRequest.goals_explained = 4;
                            objSurveyRequest.course_topics = 5;
                            objSurveyRequest.material = 4;
                            objSurveyRequest.course_content = 5;
                            objSurveyRequest.learned_useful = 5;
                            objSurveyRequest.home_budget = 4;
                    Code:
                                public ApiResponse Upsert(string collectionName,FilterDefinition filter,BsonDocument document)
                                {
                                    var updateDefinition = Builders.Update.Combine(document.Elements.Select(x =>Builders.Update.Set(x.Name, x.Value)));
                                    var result = _mongoDBContext.UpsertOne(collectionName, filter, updateDefinition);
                                    string message;
                                    if (result.UpsertedId != null)
                                    message = "Record created successfully.";
                                    else if (result.ModifiedCount > 0)
                                    message = "Record updated successfully.";
                                    else
                                    message = "No changes made.";
                                    return new ApiResponse
                                        {
                                        Success = true,
                                        Message = message,
                                        Data = BsonHelper.ConvertDocument(document)
                                        };
                                  }
                        
                    



© 2026 001 Debtorcc Inc. All Rights Reserved. 378 Summit Ave. Jersey City NJ 07306.