public ActionResult CreateReseller(Models.Reseller r)
 {
     if (ModelState.IsValid)
     {
         ViewModel.Resellers.Resellers resellers = new ViewModel.Resellers.Resellers();
         resellers.Save(r);
         return(RedirectToAction("Resellers"));
     }
     ViewModel.Countries.Countries country = new ViewModel.Countries.Countries();
     ViewBag.Countries = country.GetCountries();
     return(View("AddReseller"));
 }
        public ActionResult CreateReseller(int?id)
        {
            ViewModel.DefaultMargin.DefaultMarginResellers defaultMarginResellers = new ViewModel.DefaultMargin.DefaultMarginResellers();

            Models.Reseller res = new Reseller();
            res.Margin = defaultMarginResellers.GetDefaultMargin().DefaultPercentage;
            if (id != null)
            {
                ViewModel.Resellers.Resellers resellers = new ViewModel.Resellers.Resellers();
                res = resellers.GetById(id);
            }
            ViewModel.Countries.Countries country = new ViewModel.Countries.Countries();
            ViewBag.Countries = country.GetCountries();
            return(View("AddReseller", res));
        }
Beispiel #3
0
        public IEnumerable <Models.Customers> GetCustomerList()
        {
            // SeekBasedResourceCollection<Customer> list1= new SeekBasedResourceCollection<Customer>(;
            try
            {
                //// All the operations executed on this partner operation instance will share the same correlation Id but will differ in request Id
                //IPartner scopedPartnerOperations = ApplicationDomain.PartnerCenterClient.With(RequestContextFactory.Instance.Create(Guid.NewGuid()));

                //// read customers into chunks of 40s
                //var customersBatch = scopedPartnerOperations.Customers.Query(QueryFactory.Instance.BuildIndexedQuery(40));
                //var customersEnumerator = scopedPartnerOperations.Enumerators.Customers.Create(customersBatch);

                //Get Customer from API
                SeekBasedResourceCollection <Customer> list = ApplicationDomain.PartnerCenterClient.Customers.Get();

                //Get Reseller/Agent from db
                ViewModel.Resellers.Resellers resellers = new ViewModel.Resellers.Resellers();
                IEnumerable <Models.Reseller> reseller  = resellers.GetActive();

                //Get Customers from db
                IEnumerable <Models.Customers> getcustomer = GetCustomers();


                List <Models.Customers> customer = new List <Models.Customers>();

                //foreach (var r in reseller)
                //{
                //    foreach (var i in getcustomer)
                //    {
                //        if (i.ResellerId == r.Id || i.ResellerId == 0)
                //        {
                //            foreach (var x in list.Items)
                //            {
                //                if (i.MicrosoftId == x.Id)
                //                {
                //                    Models.Customers cus = new Models.Customers()
                //                    {
                //                        ResellerId = i.Id,
                //                        PrimaryDomain = x.CompanyProfile.Domain,
                //                        MicrosoftId = x.Id,
                //                        Company = x.CompanyProfile.CompanyName,
                //                    };
                //                    customer.Add(cus);
                //                }
                //            }
                //        }
                //    }
                //}

                foreach (var x in list.Items.OrderBy(m => m.Id)) //Api
                {
                    var gc = getcustomer.Where(m => m.MicrosoftId == x.Id).SingleOrDefault();
                    if (gc != null)   // It customer is exit in my db
                    {
                        //    foreach (var i in gc)  // db customer
                        //    {
                        //        if (i.MicrosoftId == x.Id)
                        //        {
                        //var res = reseller.Where(m => m.Id == gc.ResellerId).SingleOrDefault();
                        if (gc.ResellerId == 0) // it means direct customer
                        {
                            Models.Customers cus = new Models.Customers()
                            {
                                ResellerId    = 0, // it means it's a direct customer
                                PrimaryDomain = x.CompanyProfile.Domain,
                                MicrosoftId   = x.Id,
                                Company       = x.CompanyProfile.CompanyName,
                            };
                            customer.Add(cus);
                        }
                        else  // it means indirect customer
                        {
                            //var res = reseller.Where(m => m.Id == gc.ResellerId).SingleOrDefault();
                            Models.Customers cus = new Models.Customers()
                            {
                                ResellerId    = gc.ResellerId,
                                PrimaryDomain = x.CompanyProfile.Domain,
                                MicrosoftId   = x.Id,
                                Company       = x.CompanyProfile.CompanyName,
                            };
                            customer.Add(cus);
                        }
                        //        foreach (var r in reseller)  // db agent
                        //        {
                        //            if (i.ResellerId == r.Id || i.ResellerId == 0)
                        //            {

                        //            }
                        //        }
                        //    }

                        //}
                    }
                    else  // If customer is not exit in my db
                    {
                        Models.Customers cus = new Models.Customers()
                        {
                            ResellerId    = 0, // it means it's a direct customer
                            PrimaryDomain = x.CompanyProfile.Domain,
                            MicrosoftId   = x.Id,
                            Company       = x.CompanyProfile.CompanyName,
                        };
                        customer.Add(cus);
                    }
                }

                return(customer);
            }
            catch
            {
                return(null);
            }
        }
 public JsonResult DeleteReseller(int id, bool IsDelete)
 {
     ViewModel.Resellers.Resellers resellers = new ViewModel.Resellers.Resellers();
     return(Json(resellers.Delete(id, IsDelete), JsonRequestBehavior.AllowGet));
 }
 public ActionResult Resellers()
 {
     ViewModel.Resellers.Resellers resellers = new ViewModel.Resellers.Resellers();
     return(View(resellers.Getlist()));
 }