public StatusResult Delete(int itemID)
        {
            StatusResult c = new StatusResult();

            try
            {
                if (!ModelState.IsValid)
                {
                    c.Status = Status.BadRequest.ToString();
                    c.Result = BadRequest();
                    return(c);
                }
                if (User.IsInRole(Roles.SuperAdmin) || User.IsInRole(Roles.PortalAdmin))
                {
                    CustomerDOTNumber model  = new CustomerDOTNumber();
                    CustomerDOT       cusDOT = new CustomerDOT();
                    model.ItemID     = itemID;
                    model.ModifiedBy = ClaimsPrincipal.Current.FindFirst(ClaimTypes.NameIdentifier).Value;
                    var CDOT = cusDOT.DeleteCustomerDOT(model);
                    if (CDOT == false)
                    {
                        c.Status = Status.Fail.ToString();
                        c.Result = "Customer DOTNumber object Not Found.";
                    }
                    else
                    {
                        c.Status = Status.Success.ToString();
                        c.Result = CDOT;
                    }
                    return(c);
                }
                else
                {
                    c.Status = Status.NoAccess.ToString();
                    c.Result = "No Access";
                    return(c);
                }
            }
            catch (Exception ex)
            {
                c.Status = Status.InternalServerError.ToString();
                c.Result = ex.InnerException;
                return(c);
            }
        }
        public StatusResult AddCustomerDOTNumber(CustomerDOTNumber model)
        {
            StatusResult c = new StatusResult();

            //try
            //{
            if (!ModelState.IsValid)
            {
                c.Status = Status.BadRequest.ToString();
                c.Result = BadRequest();
                return(c);
            }
            if (User.IsInRole(Roles.SuperAdmin) || User.IsInRole(Roles.PortalAdmin))
            {
                CustomerDOT cusDOT  = new CustomerDOT();
                var         custDOT = GetCustomerDOT(model.CustomerID, model.DOTNumber);
                if (custDOT.Status != Status.Fail.ToString())
                {
                    c.Status = Status.Fail.ToString();
                    c.Result = "Customer DOTNumber already exist.";
                }
                else
                {
                    model.CreatedBy = ClaimsPrincipal.Current.FindFirst(ClaimTypes.NameIdentifier).Value;
                    var CDOT = cusDOT.AddCustomerDOT(model);
                    c.Status = Status.Success.ToString();
                    c.Result = CDOT;
                }

                return(c);
            }
            else
            {
                c.Status = Status.NoAccess.ToString();
                c.Result = "No Access";
                return(c);
            }
            //}
            //catch (Exception ex)
            //{
            //    c.Status = Status.InternalServerError.ToString();
            //    c.Result = ex.InnerException;
            //    return c;
            //}
        }
        public StatusResult GetCustomerDOT(int CompanyID, string DOTNumber)
        {
            StatusResult c = new StatusResult();

            try
            {
                if (!ModelState.IsValid)
                {
                    c.Status = Status.BadRequest.ToString();
                    c.Result = BadRequest();
                    return(c);
                }
                if (User.IsInRole(Roles.SuperAdmin) || User.IsInRole(Roles.PortalAdmin) || User.IsInRole(Roles.AccountAdmin))
                {
                    CustomerDOT cusDOT = new CustomerDOT();

                    var CDOT = cusDOT.GetCustomerDOTByDOTNumber(CompanyID, DOTNumber);
                    if (CDOT == null)
                    {
                        c.Status = Status.Fail.ToString();
                        c.Result = "Customer DOTNumber Not Found.";
                    }
                    else
                    {
                        c.Status = Status.Success.ToString();
                        c.Result = CDOT;
                    }
                    return(c);
                }
                else
                {
                    c.Status = Status.NoAccess.ToString();
                    c.Result = "No Access";
                    return(c);
                }
            }
            catch (Exception ex)
            {
                c.Status = Status.InternalServerError.ToString();
                c.Result = ex.InnerException;
                return(c);
            }
        }
        public StatusResult GetCustomerDOTNumbers()
        {
            StatusResult c = new StatusResult();

            try
            {
                if (!ModelState.IsValid)
                {
                    c.Status = Status.BadRequest.ToString();
                    c.Result = BadRequest();
                    return(c);
                }
                if (User.IsInRole(Roles.SuperAdmin) || User.IsInRole(Roles.PortalAdmin) || User.IsInRole(Roles.AccountAdmin))
                {
                    CustomerDOT cusDOT = new CustomerDOT();
                    //var CDOT = cusDOT.GetAll();
                    var CDOT = "";
                    if (CDOT == null)
                    {
                        c.Status = Status.Fail.ToString();
                        c.Result = "There is no Customer DOTNumber data.";
                    }
                    else
                    {
                        c.Status = Status.Success.ToString();
                        c.Result = CDOT;
                    }
                    return(c);
                }
                else
                {
                    c.Status = Status.NoAccess.ToString();
                    c.Result = "No Access";
                    return(c);
                }
            }
            catch (Exception ex)
            {
                c.Status = Status.InternalServerError.ToString();
                c.Result = ex.InnerException;
                return(c);
            }
        }