public ActionResult SelectParentClient()
        {
            Clients_Details viewClients_Details = new Clients_Details();

            viewClients_Details.clientlist = Clients.GetClientListForDropdown();

            return(View("SelectParentClient", viewClients_Details));
        }
        public ActionResult Index()
        {
            Clients_Details viewClients_Details = new Clients_Details();

            viewClients_Details.ClientID = 0;

            return(View(viewClients_Details));
        }
        public ActionResult ClientAccountActivity(int id) //id = ClientID
        {
            int BillingContactID = Clients.GetPrimaryBillingContactIDFromClient(id).Value;

            Clients_Details viewBillingStatement_AccountActivity = new Clients_Details();

            viewBillingStatement_AccountActivity.AccountActivity = BillingStatements.GetAccountActivity(BillingContactID, 0);

            return(View(viewBillingStatement_AccountActivity));
        }
        public ActionResult CreateClient()
        {
            Clients_Details viewClients_Details = new Clients_Details();

            viewClients_Details.ClientName        = "";
            viewClients_Details.Address1          = "";
            viewClients_Details.Address2          = "";
            viewClients_Details.City              = "";
            viewClients_Details.State             = "";
            viewClients_Details.Zip               = "";
            viewClients_Details.ClientID          = 0;
            viewClients_Details.Tazworks1Client   = false;
            viewClients_Details.Tazworks2Client   = false;
            viewClients_Details.NonTazworksClient = false;

            return(View(viewClients_Details));
        }
        public JsonResult CreateClientJSON(string ClientName, string Address1, string Address2, string City, string State, string Zip, bool Tazworks1Client, bool Tazworks2Client, bool NonTazworksClient)
        {
            System.Text.RegularExpressions.Regex nonUTF8 = new System.Text.RegularExpressions.Regex("[^\x00-\x7F]+");

            ClientName = ClientName == null ? "" : nonUTF8.Replace(ClientName, " ").SingleSpaceOnly();
            Address1   = Address1 == null ? "" : nonUTF8.Replace(Address1, " ").SingleSpaceOnly();
            Address2   = Address2 == null ? "" : nonUTF8.Replace(Address2, " ").SingleSpaceOnly();
            City       = City == null ? "" : nonUTF8.Replace(City, " ").SingleSpaceOnly();
            State      = State == null ? "" : nonUTF8.Replace(State, " ").SingleSpaceOnly();
            Zip        = Zip == null ? "" : nonUTF8.Replace(Zip, " ").SingleSpaceOnly();

            Clients_Details viewClients_Details = new Clients_Details();

            viewClients_Details.ClientName        = ClientName;
            viewClients_Details.Address1          = Address1;
            viewClients_Details.Address2          = Address2;
            viewClients_Details.City              = City;
            viewClients_Details.State             = State;
            viewClients_Details.Zip               = Zip;
            viewClients_Details.ClientID          = 0;
            viewClients_Details.Tazworks1Client   = Tazworks1Client;
            viewClients_Details.Tazworks2Client   = Tazworks2Client;
            viewClients_Details.NonTazworksClient = NonTazworksClient;


            if (String.IsNullOrEmpty(ClientName))
            {
                ViewData.ModelState.AddModelError("ClientName", " ");
                viewClients_Details.ClientName = "";
            }

            if (String.IsNullOrEmpty(Address1))
            {
                ViewData.ModelState.AddModelError("Address1", " ");
                viewClients_Details.Address1 = "";
            }

            if (String.IsNullOrEmpty(Address2))
            {
                viewClients_Details.Address2 = "";
            }

            if (String.IsNullOrEmpty(City))
            {
                ViewData.ModelState.AddModelError("City", " ");
                viewClients_Details.City = "";
            }

            if (String.IsNullOrEmpty(State))
            {
                ViewData.ModelState.AddModelError("State", " ");
                viewClients_Details.State = "";
            }

            if (String.IsNullOrEmpty(Zip))
            {
                ViewData.ModelState.AddModelError("Zip", " ");
                viewClients_Details.Zip = "";
            }

            if (!Tazworks1Client && !Tazworks2Client && !NonTazworksClient)
            {
                ViewData.ModelState.AddModelError("TazworksClient", "You must select at least 1 Tazworks system or select Non-Tazworks Client. ");
            }

            if (ViewData.ModelState.IsValid)
            {
                viewClients_Details.ClientID = Clients.CreateClient(ClientName, Address1, Address2, City, State, Zip, Tazworks1Client, Tazworks2Client, NonTazworksClient);

                if (viewClients_Details.ClientID == 0)
                {
                    return(new JsonResult
                    {
                        Data = new
                        {
                            success = false,
                            view = RenderToString.RenderViewToString(this, "CreateClient", viewClients_Details)
                        }
                    });
                }
                else
                {
                    return(new JsonResult
                    {
                        Data = new
                        {
                            success = true,
                            clientid = viewClients_Details.ClientID
                        }
                    });
                }
            }
            else
            {
                return(new JsonResult
                {
                    Data = new
                    {
                        success = false,
                        view = RenderToString.RenderViewToString(this, "CreateClient", viewClients_Details)
                    }
                });
            }
        }
        public ActionResult Details(int id) //id = ClientID
        {
            Clients_Details viewClients_Details = new Clients_Details();

            Client clientInfo = Clients.GetClient(id);
            ClientInvoiceSettings         clientInvoiceSettings         = Clients.GetClientInvoiceSettings(id);
            ClientInvoiceSettings         parentInvoiceSettings         = Clients.GetClientInvoiceSettings(clientInfo.ParentClientID);
            ClientExpectedRevenueSettings clientExpectedRevenueSettings = Clients.GetClientExpectedRevenueSettings(id);
            ClientVendors clientVendors = Clients.GetClientVendors(id);

            int BillingContactID = Clients.GetPrimaryBillingContactIDFromClient(id).Value;

            if (BillingContactID != 0)
            {
                viewClients_Details.AccountActivity = BillingStatements.GetAccountActivity(BillingContactID, 0);
            }

            viewClients_Details.BillingContactID = BillingContactID;
            viewClients_Details.ClientName       = clientInfo.ClientName;
            viewClients_Details.Address1         = clientInfo.Address1;
            viewClients_Details.Address2         = clientInfo.Address2;
            viewClients_Details.City             = clientInfo.City;
            viewClients_Details.State            = clientInfo.State;
            viewClients_Details.Zip                = clientInfo.Zip;
            viewClients_Details.Status             = clientInfo.Status;
            viewClients_Details.DoNotInvoice       = clientInfo.DoNotInvoice;
            viewClients_Details.ClientID           = id;
            viewClients_Details.ParentClientName   = clientInfo.ParentClientName;
            viewClients_Details.Tazworks1ID        = clientVendors.Tazworks1ID;
            viewClients_Details.Tazworks2ID        = clientVendors.Tazworks2ID;
            viewClients_Details.Debtor1ID          = clientVendors.Debtor1ID;
            viewClients_Details.TransUnionID       = clientVendors.TransUnionID;
            viewClients_Details.ExperianID         = clientVendors.ExperianID;
            viewClients_Details.BilledAsClientName = clientInfo.BillAsClientName;
            viewClients_Details.AuditInvoices      = clientInfo.AuditInvoices;
            viewClients_Details.ParentClientID     = clientInfo.ParentClientID;
            viewClients_Details.PembrookeID        = clientVendors.PembrookeID;
            viewClients_Details.ApplicantONEID     = clientVendors.ApplicantONEID;
            viewClients_Details.RentTrackID        = clientVendors.RentTrackID;
            viewClients_Details.Notes              = clientInfo.Notes;

            if (clientInfo.DoNotInvoice)
            {
                viewClients_Details.BillingGroupID = "0";
            }
            else
            {
                viewClients_Details.BillingGroupID = Convert.ToString(clientInfo.BillingGroupID);
            }

            if (clientInvoiceSettings.InvoiceTemplate == 0)
            {
                if (parentInvoiceSettings.ClientSplitMode == 2)
                {
                    viewClients_Details.HasClientInvoiceSettings = 2; //Parent roll up
                }
                else
                {
                    viewClients_Details.HasClientInvoiceSettings = 0;
                }
            }
            else
            {
                viewClients_Details.HasClientInvoiceSettings = 1;
            }

            if (clientVendors.Tazworks1ID == null && clientVendors.Tazworks2ID == null &&
                clientVendors.Debtor1ID == null && clientVendors.TransUnionID == null && clientVendors.ExperianID == null)
            {
                viewClients_Details.HasVendorSettings = false;
            }
            else
            {
                viewClients_Details.HasVendorSettings = true;
            }

            viewClients_Details.InvoiceTemplate      = clientInvoiceSettings.InvoiceTemplate;
            viewClients_Details.BillingDetailReport  = clientInvoiceSettings.BillingDetailReport;
            viewClients_Details.ClientSplitMode      = clientInvoiceSettings.ClientSplitMode;
            viewClients_Details.ApplyFinanceCharge   = clientInvoiceSettings.ApplyFinanceCharge;
            viewClients_Details.FinanceChargeDays    = clientInvoiceSettings.FinanceChargeDays;
            viewClients_Details.FinanceChargePercent = clientInvoiceSettings.FinanceChargePercent;
            viewClients_Details.SentToCollections    = clientInvoiceSettings.SentToCollections;
            viewClients_Details.ExcludeFromReminders = clientInvoiceSettings.ExcludeFromReminders;

            viewClients_Details.ExpectedMonthlyRevenue = clientExpectedRevenueSettings.ExpectedMonthlyRevenue.ToString("#.##");
            viewClients_Details.AccountCreateDate      = (clientExpectedRevenueSettings.AccountCreateDate == DateTime.MinValue ? "" : clientExpectedRevenueSettings.AccountCreateDate.ToString("MM/dd/yyyy"));
            viewClients_Details.AccountOwner           = clientExpectedRevenueSettings.AccountOwner;
            viewClients_Details.AffiliateName          = clientExpectedRevenueSettings.AffiliateName;

            return(View("Details", "View", viewClients_Details));
        }