public ActionResult AddVendor(VendorModel objVendorModel) { if (Session["realmId"] != null) { string realmId = Session["realmId"].ToString(); try { string AccessToken = Session["access_token"].ToString(); var principal = User as ClaimsPrincipal; OAuth2RequestValidator oauthValidator = new OAuth2RequestValidator(AccessToken); // Create a ServiceContext with Auth tokens and realmId ServiceContext serviceContext = new ServiceContext(realmId, IntuitServicesType.QBO, oauthValidator); serviceContext.IppConfiguration.MinorVersion.Qbo = "23"; DataService commonServiceQBO = new DataService(serviceContext); // Create a QuickBooks QueryService using ServiceContext PhysicalAddress vendorAddr = new PhysicalAddress(); EmailAddress vendoremail = new EmailAddress(); TelephoneNumber mobileNumber = new TelephoneNumber(); WebSiteAddress websiteaddr = new WebSiteAddress(); Vendor vendor = new Vendor(); //Mandatory Fields vendor.GivenName = objVendorModel.FirstName; vendor.Title = objVendorModel.Title; vendor.MiddleName = objVendorModel.MiddleName; vendor.FamilyName = objVendorModel.LastName; vendor.AcctNum = objVendorModel.AccountNo; vendor.Balance = Convert.ToDecimal(objVendorModel.BalanceAmount); vendor.CompanyName = objVendorModel.Company; vendorAddr.City = objVendorModel.City; vendorAddr.Country = objVendorModel.Country; vendoremail.Address = objVendorModel.Email; mobileNumber.FreeFormNumber = objVendorModel.MobileNumber; websiteaddr.URI = objVendorModel.Website; vendor.BillAddr = vendorAddr; vendor.PrimaryEmailAddr = vendoremail; vendor.Mobile = mobileNumber; vendor.WebAddr = websiteaddr; Vendor resultVendor = commonServiceQBO.Add(vendor) as Vendor; QueryService <Vendor> querySvcVendor = new QueryService <Vendor>(serviceContext); List <Vendor> vendorListData = querySvcVendor.ExecuteIdsQuery("SELECT * FROM Vendor").OrderByDescending(x => x.Id).ToList(); var tt = vendorListData.FirstOrDefault(); Vendor resultCustomer = commonServiceQBO.FindById(tt) as Vendor; return(RedirectToAction("VendorList", "VendorQuickBook")); } catch (Exception ex) { return(View("ApiCallService", (object)("QBO API call Failed!" + " Error message: " + ex.Message))); } } else { return(View("ApiCallService", (object)"QBO API call Failed!")); } }
/* * Create a Vendor * The Vendor object represents the seller from whom your company purchases any service or product. */ private Vendor CreateVendor(ServiceContext serviceContext) { DataService dataService = new DataService(serviceContext); Vendor vendor = new Vendor(); //Add additional vendor info vendor.GivenName = "GivenName"; vendor.MiddleName = "MiddleName"; vendor.FamilyName = "FamilyName"; vendor.Suffix = "Suffix"; vendor.CompanyName = "CompanyName"; vendor.DisplayName = "DisplayName_" + Guid.NewGuid().ToString("N"); vendor.Active = true; vendor.ActiveSpecified = true; //Add contact details ie phone, fax, email and website details TelephoneNumber primaryPhone = new TelephoneNumber(); primaryPhone.FreeFormNumber = "FreeFormNumber"; vendor.PrimaryPhone = primaryPhone; TelephoneNumber alternatePhone = new TelephoneNumber(); alternatePhone.FreeFormNumber = "FreeFormNumber"; vendor.AlternatePhone = alternatePhone; TelephoneNumber mobile = new TelephoneNumber(); mobile.FreeFormNumber = "FreeFormNumber"; vendor.Mobile = mobile; TelephoneNumber fax = new TelephoneNumber(); fax.FreeFormNumber = "FreeFormNumber"; vendor.Fax = fax; EmailAddress primaryEmailAddr = new EmailAddress(); primaryEmailAddr.Address = "*****@*****.**"; vendor.PrimaryEmailAddr = primaryEmailAddr; WebSiteAddress webAddr = new WebSiteAddress(); webAddr.URI = "http://site.com"; vendor.WebAddr = webAddr; Vendor vendorAdded = dataService.Add <Vendor>(vendor); return(vendorAdded); }
private static Customer GetCustomer() { var guid = GetGuid(); var customer = new Customer { Taxable = false, TaxableSpecified = true }; var billAddress = new PhysicalAddress { Line1 = "Line1", Line2 = "Line2", Line3 = "Line3", Line4 = "Line4", Line5 = "Line5", City = "City", Country = "India", CountrySubDivisionCode = "CountrySubDivisionCode", PostalCode = "PostalCode" }; customer.BillAddr = billAddress; var shipAddress = new PhysicalAddress { Line1 = "Line1", Line2 = "Line2", Line3 = "Line3", Line4 = "Line4", Line5 = "Line5", City = "City", Country = "USA", CountrySubDivisionCode = "CountrySubDivisionCode", PostalCode = "PostalCode" }; customer.ShipAddr = shipAddress; var otherAddressList = new List <PhysicalAddress>(); var otherAddress = new PhysicalAddress { Line1 = "Line1", Line2 = "Line2", Line3 = "Line3", Line4 = "Line4", Line5 = "Line5", City = "City", Country = "UK", CountrySubDivisionCode = "CountrySubDivisionCode", PostalCode = "PostalCode" }; otherAddressList.Add(otherAddress); customer.OtherAddr = otherAddressList.ToArray(); customer.Notes = "Notes"; customer.Job = false; customer.JobSpecified = true; customer.BillWithParent = false; customer.BillWithParentSpecified = true; customer.Balance = new decimal(100.00); customer.BalanceSpecified = true; customer.BalanceWithJobs = new decimal(100.00); customer.BalanceWithJobsSpecified = true; customer.PreferredDeliveryMethod = "Print"; customer.ResaleNum = "ResaleNum"; customer.Title = "Title"; customer.GivenName = "GivenName"; customer.MiddleName = "MiddleName"; customer.FamilyName = "FamilyName"; customer.Suffix = "Suffix"; customer.FullyQualifiedName = "Name_" + guid; customer.CompanyName = "CompanyName"; customer.DisplayName = "Name_" + guid; customer.PrintOnCheckName = "PrintOnCheckName"; customer.Active = true; customer.ActiveSpecified = true; var primaryPhone = new TelephoneNumber { FreeFormNumber = "8290487145" }; customer.PrimaryPhone = primaryPhone; var alternatePhone = new TelephoneNumber { FreeFormNumber = "9166622789" }; customer.AlternatePhone = alternatePhone; var mobile = new TelephoneNumber { FreeFormNumber = "9829478685" }; customer.Mobile = mobile; var fax = new TelephoneNumber { FreeFormNumber = "0141-556677" }; customer.Fax = fax; var primaryEmailAddress = new EmailAddress { Address = "*****@*****.**" }; customer.PrimaryEmailAddr = primaryEmailAddress; var websiteAddress = new WebSiteAddress { URI = "http://www.google.com" }; customer.WebAddr = websiteAddress; return(customer); }
public ActionResult Index(VendorSetupManagementModel Obj) { eTracLoginModel objLoginSession = new eTracLoginModel(); ViewBag.AccountSection = true; objLoginSession = (eTracLoginModel)Session["eTrac"]; var _workorderems = new workorderEMSEntities(); try { Obj.UserId = objLoginSession.UserId; //Obj.CompanyType = 2; if (Obj.VendorId == null) { Obj.VendorId = 0; if (Obj.CompanyDocumentsFile != null) { string FileName = objLoginSession.UserId + "_" + DateTime.Now.Ticks.ToString() + "_" + Convert.ToString(Obj.CompanyDocumentsFile.FileName); CommonHelper.StaticUploadImage(Obj.CompanyDocumentsFile, Server.MapPath(ConfigurationManager.AppSettings["CompanyDocument"]), FileName); Obj.CompanyDocuments = FileName; } if (Obj.VendorInsuranceModel.InsuranceDocumentFile != null) { string FileName = objLoginSession.UserId + "_" + DateTime.Now.Ticks.ToString() + "_" + Convert.ToString(Obj.VendorInsuranceModel.InsuranceDocumentFile.FileName); CommonHelper.StaticUploadImage(Obj.VendorInsuranceModel.InsuranceDocumentFile, Server.MapPath(ConfigurationManager.AppSettings["LicenseAndInsuranceDocument"]), FileName); Obj.VendorInsuranceModel.InsuranceDocument = FileName; } if (Obj.VendorInsuranceModel.LicenseDocumentFile != null) { string FileName = objLoginSession.UserId + "_" + DateTime.Now.Ticks.ToString() + "_" + Convert.ToString(Obj.VendorInsuranceModel.LicenseDocumentFile.FileName); CommonHelper.StaticUploadImage(Obj.VendorInsuranceModel.LicenseDocumentFile, Server.MapPath(ConfigurationManager.AppSettings["LicenseAndInsuranceDocument"]), FileName); Obj.VendorInsuranceModel.LicenseDocument = FileName; } if (Obj.VendorAccountDetailsModel.AccountDocumentsFile != null) { string FileName = objLoginSession.UserId + "_" + DateTime.Now.Ticks.ToString() + "_" + Convert.ToString(Obj.VendorAccountDetailsModel.AccountDocumentsFile.FileName); CommonHelper.StaticUploadImage(Obj.VendorAccountDetailsModel.AccountDocumentsFile, Server.MapPath(ConfigurationManager.AppSettings["BankAccountDocsDocument"]), FileName); Obj.VendorAccountDetailsModel.AccountDocuments = FileName; } //if (Session["realmId"] != null) //{ string realmId = CallbackController.RealMId.ToString();// Session["realmId"].ToString(); try { string AccessToken = CallbackController.AccessToken.ToString();// Session["access_token"].ToString(); var principal = User as ClaimsPrincipal; var cmp_Data = new CompanyInfo(); OAuth2RequestValidator oauthValidator = new OAuth2RequestValidator(AccessToken); // Create a ServiceContext with Auth tokens and realmId ServiceContext serviceContext = new ServiceContext(realmId, IntuitServicesType.QBO, oauthValidator); serviceContext.IppConfiguration.MinorVersion.Qbo = "23"; DataService commonServiceQBO = new DataService(serviceContext); // Create a QuickBooks QueryService using ServiceContext QueryService <CompanyInfo> querySvc = new QueryService <CompanyInfo>(serviceContext); CompanyInfo company = querySvc.ExecuteIdsQuery("SELECT * FROM CompanyInfo").FirstOrDefault(); QueryService <Account> querySvcAccount = new QueryService <Account>(serviceContext); List <Account> accountData = querySvcAccount.ExecuteIdsQuery("SELECT * FROM Account MaxResults 1000").ToList(); var address = new PhysicalAddress(); var emailaddr = new EmailAddress(); var websiteAddr = new WebSiteAddress(); var telephoneAddr = new TelephoneNumber(); var account = new Account(); var getCompanyInfo = _IVendorManagement.GetCompanyInfo(Convert.ToInt64(company.Id)); if (Obj.CompanyType == 2) { if (getCompanyInfo > 0) { ViewBag.Message = CommonMessage.CompanyAlreadySaved(); ViewBag.AlertMessageClass = ObjAlertMessageClass.Success; } else { address.City = Obj.Address1City; address.Country = "USA"; address.Line1 = Obj.Address1; address.PostalCode = company.CompanyAddr.PostalCode; company.CompanyAddr = address; emailaddr.Address = Obj.VendorEmail; company.CompanyEmailAddr = emailaddr; websiteAddr.URI = Obj.Website; company.CompanyURL = websiteAddr; telephoneAddr.FreeFormNumber = Obj.Phone1; company.PrimaryPhone = telephoneAddr; company.LegalAddr = address; company.LegalName = Obj.CompanyNameLegal; company.CompanyName = Obj.CompanyNameLegal; CompanyInfo update = commonServiceQBO.Update(company) as CompanyInfo; var resultQuickBook = _IVendorManagement.SaveQuickBookId(company.Id, Obj.VendorId); if (Obj.VendorAccountDetailsModel != null) { account.Active = true; if (Obj.VendorAccountDetailsModel.PaymentMode == 1) { var str = Obj.VendorAccountDetailsModel.CardNumber.Substring(Obj.VendorAccountDetailsModel.CardNumber.Length - 4); account.AccountAlias = "CreditCard_" + str; account.Description = "Credit Card"; account.FullyQualifiedName = "CreditCard_" + str; account.Name = "CreditCard_" + str; account.AccountType = AccountTypeEnum.CreditCard; account.BankNum = Obj.VendorAccountDetailsModel.CardNumber; } else { var str = Obj.VendorAccountDetailsModel.AccountNumber.Substring(Obj.VendorAccountDetailsModel.AccountNumber.Length - 4); account.AccountAlias = Obj.VendorAccountDetailsModel.BankName + str; account.Description = "Bank"; account.FullyQualifiedName = Obj.VendorAccountDetailsModel.BankName + str; account.Name = Obj.VendorAccountDetailsModel.BankName + str; account.AccountType = AccountTypeEnum.Bank; account.AcctNum = Obj.VendorAccountDetailsModel.AccountNumber; account.BankNum = Obj.VendorAccountDetailsModel.AccountNumber; } account.Classification = AccountClassificationEnum.Liability; account.SubAccount = false; account.AccountTypeSpecified = true; account.sparse = false; Account accountSaved = commonServiceQBO.Add(account) as Account; Obj.VendorAccountDetailsModel.QuickbookAcountId = Convert.ToInt64(accountSaved.Id); } //This one added on 21 Feb var result = _IVendorManagement.ProcessVendorSetup(Obj); if (result.Result == Result.Completed) { ViewBag.Message = CommonMessage.SaveSuccessMessage(); ViewBag.AlertMessageClass = ObjAlertMessageClass.Success; return(View("~/Areas/AdminSection/Views/AdminCompany/CompanyListAdmin.cshtml")); } else { ViewBag.Message = CommonMessage.VendorFailure(); ViewBag.AlertMessageClass = ObjAlertMessageClass.Danger; return(View("~/Areas/AdminSection/Views/AdminCompany/CompanyListAdmin.cshtml")); } //ViewBag.Message = CommonMessage.VendorSave(); //ViewBag.AlertMessageClass = ObjAlertMessageClass.Success; } } } catch (Exception ex) { ViewBag.Message = ex.Message; ViewBag.AlertMessageClass = ObjAlertMessageClass.Danger; } //} if (Obj.CompanyType == 3) { var result = _IVendorManagement.ProcessVendorSetup(Obj); if (result.Result == Result.Completed) { ViewBag.Message = CommonMessage.SaveSuccessMessage(); ViewBag.AlertMessageClass = ObjAlertMessageClass.Success; return(View("~/Areas/AdminSection/Views/AdminCompany/CompanyListAdmin.cshtml")); } else { ViewBag.Message = CommonMessage.VendorFailure(); ViewBag.AlertMessageClass = ObjAlertMessageClass.Danger; return(View("~/Areas/AdminSection/Views/AdminCompany/CompanyListAdmin.cshtml")); } } else { ViewBag.Message = CommonMessage.CompanyAlreadySaved(); ViewBag.AlertMessageClass = ObjAlertMessageClass.Success; } } } catch (Exception ex) { ViewBag.Message = ex.Message; ViewBag.AlertMessageClass = ObjAlertMessageClass.Danger; } return(View("~/Areas/AdminSection/Views/AdminCompany/CompanyListAdmin.cshtml")); }
public ActionResult AddAccountDetailsAdmin(VendorSetupManagementModel Obj) { eTracLoginModel objLoginSession = new eTracLoginModel(); objLoginSession = (eTracLoginModel)Session["eTrac"]; var accountSaved = new Account(); try { Obj.UserId = objLoginSession.UserId; if (Obj.VendorId > 0) { if (Obj.VendorAccountDetailsModel.AccountDocumentsFile != null) { string FileName = objLoginSession.UserId + "_" + DateTime.Now.Ticks.ToString() + "_" + Convert.ToString(Obj.VendorAccountDetailsModel.AccountDocumentsFile.FileName); CommonHelper.StaticUploadImage(Obj.VendorAccountDetailsModel.AccountDocumentsFile, Server.MapPath(ConfigurationManager.AppSettings["BankAccountDocsDocument"]), FileName); Obj.VendorAccountDetailsModel.AccountDocuments = FileName; } //Obj.VendorId = Obj.CompanyId; //if (Session["realmId"] != null) //{ string realmId = CallbackController.RealMId.ToString(); //Session["realmId"].ToString(); try { string AccessToken = CallbackController.AccessToken.ToString();// Session["access_token"].ToString(); var principal = User as ClaimsPrincipal; var cmp_Data = new CompanyInfo(); OAuth2RequestValidator oauthValidator = new OAuth2RequestValidator(AccessToken); // Create a ServiceContext with Auth tokens and realmId ServiceContext serviceContext = new ServiceContext(realmId, IntuitServicesType.QBO, oauthValidator); serviceContext.IppConfiguration.MinorVersion.Qbo = "23"; DataService commonServiceQBO = new DataService(serviceContext); // Create a QuickBooks QueryService using ServiceContext QueryService <CompanyInfo> querySvc = new QueryService <CompanyInfo>(serviceContext); CompanyInfo company = querySvc.ExecuteIdsQuery("SELECT * FROM CompanyInfo").FirstOrDefault(); QueryService <Account> querySvcAccount = new QueryService <Account>(serviceContext); List <Account> accountData = querySvcAccount.ExecuteIdsQuery("SELECT * FROM Account MaxResults 1000").ToList(); var address = new PhysicalAddress(); var emailaddr = new EmailAddress(); var websiteAddr = new WebSiteAddress(); var telephoneAddr = new TelephoneNumber(); var account = new Account(); var getCompanyInfo = _IVendorManagement.GetCompanyInfo(Convert.ToInt64(company.Id)); if (getCompanyInfo > 0 && getCompanyInfo == Convert.ToInt64(company.Id)) { ViewBag.Message = CommonMessage.CompanyAlreadySaved(); ViewBag.AlertMessageClass = ObjAlertMessageClass.Success; if (Obj.VendorAccountDetailsModel != null) { account.Active = true; if (Obj.VendorAccountDetailsModel.PaymentMode == 1) { var str = Obj.VendorAccountDetailsModel.CardNumber.Substring(Obj.VendorAccountDetailsModel.CardNumber.Length - 4); account.AccountAlias = "CreditCard_" + str; account.Description = "Credit Card"; account.FullyQualifiedName = "CreditCard_" + str; account.Name = "CreditCard_" + str; account.AccountType = AccountTypeEnum.CreditCard; account.BankNum = Obj.VendorAccountDetailsModel.CardNumber; } else { var str = Obj.VendorAccountDetailsModel.AccountNumber.Substring(Obj.VendorAccountDetailsModel.AccountNumber.Length - 4); account.AccountAlias = Obj.VendorAccountDetailsModel.BankName + str; account.Description = "Bank"; account.FullyQualifiedName = Obj.VendorAccountDetailsModel.BankName + str; account.Name = Obj.VendorAccountDetailsModel.BankName + str; account.AccountType = AccountTypeEnum.Bank; //account.SubAccount = "Saving"; account.AcctNum = Obj.VendorAccountDetailsModel.AccountNumber; account.BankNum = Obj.VendorAccountDetailsModel.AccountNumber; } //account.Classification = AccountClassificationEnum.Liability; account.SubAccount = false; account.AccountTypeSpecified = true; account.sparse = false; account.CurrentBalance = Obj.VendorAccountDetailsModel.BalanceAmount; account.CurrentBalanceSpecified = true; account.OpeningBalance = Obj.VendorAccountDetailsModel.BalanceAmount; account.OpeningBalanceSpecified = true; account.OpeningBalanceDate = DateTime.UtcNow; account.OpeningBalanceDateSpecified = true; accountSaved = commonServiceQBO.Add(account) as Account; Obj.VendorAccountDetailsModel.QuickbookAcountId = Convert.ToInt64(accountSaved.Id); } ViewBag.Message = CommonMessage.VendorSave(); ViewBag.AlertMessageClass = ObjAlertMessageClass.Success; } } catch (Exception ex) { ViewBag.Message = ex.Message; ViewBag.AlertMessageClass = ObjAlertMessageClass.Danger; } //} ViewBag.AccountSection = true; var result = _IVendorManagement.SaveVendorAccount(Obj); if (result.Result == Result.Completed) { ViewBag.Message = CommonMessage.SaveSuccessMessage(); ViewBag.AlertMessageClass = ObjAlertMessageClass.Success; return(View("~/Areas/AdminSection/Views/AdminCompany/CompanyListAdmin.cshtml")); } else { ViewBag.Message = CommonMessage.FailureMessage(); ViewBag.AlertMessageClass = ObjAlertMessageClass.Danger; return(View("~/Areas/AdminSection/Views/AdminCompany/AddAccount.cshtml")); } } else { return(View("~/Areas/AdminSection/Views/AdminCompany/AddAccount.cshtml")); } } catch (Exception ex) { ViewBag.Message = ex.Message; ViewBag.AlertMessageClass = ObjAlertMessageClass.Danger; } return(View("~/Areas/AdminSection/Views/AdminCompany/CompanyListAdmin.cshtml")); }