Esempio n. 1
0
        public ActionResult ExportGroupWise()
        {
            System.Data.DataTable table = new System.Data.DataTable();
            try
            {
                List <GroupWiseDetails> lstGroupWiseDetails = new List <GroupWiseDetails>();
                lstGroupWiseDetails = SPR.GetGroupWiseData();

                GroupWiseDetails objGrpWise = new GroupWiseDetails();
                lstGroupWiseDetails = SPR.GetGroupWiseData();
                foreach (var item in lstGroupWiseDetails)
                {
                    objGrpWise.CustCount       = objGrpWise.CustCount + item.CustCount;
                    objGrpWise.BulkUploadCount = objGrpWise.BulkUploadCount + item.BulkUploadCount;
                    objGrpWise.Total           = objGrpWise.Total + item.Total;
                }
                objGrpWise.CustName = "Total";
                lstGroupWiseDetails.Add(objGrpWise);

                PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(GroupWiseDetails));
                foreach (PropertyDescriptor prop in properties)
                {
                    table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
                }

                foreach (GroupWiseDetails item in lstGroupWiseDetails)
                {
                    DataRow row = table.NewRow();
                    foreach (PropertyDescriptor prop in properties)
                    {
                        row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
                    }

                    table.Rows.Add(row);
                }
                var    ReportName = "GroupWiseData";
                string fileName   = "BOTS_" + ReportName + ".xlsx";
                using (XLWorkbook wb = new XLWorkbook())
                {
                    table.TableName = ReportName;
                    wb.Worksheets.Add(table);
                    using (MemoryStream stream = new MemoryStream())
                    {
                        wb.SaveAs(stream);

                        return(File(stream.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName));
                    }
                }
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Esempio n. 2
0
        public ActionResult Index()
        {
            SinglePageViewModel singlevm = new SinglePageViewModel();

            try
            {
                GroupWiseDetails objGrpWise = new GroupWiseDetails();
                singlevm.lstGroupWiseDetails = SPR.GetGroupWiseData();
                foreach (var item in singlevm.lstGroupWiseDetails)
                {
                    objGrpWise.CustCount       = objGrpWise.CustCount + item.CustCount;
                    objGrpWise.BulkUploadCount = objGrpWise.BulkUploadCount + item.BulkUploadCount;
                    objGrpWise.Total           = objGrpWise.Total + item.Total;
                }
                objGrpWise.CustName = "Total";
                singlevm.lstGroupWiseDetails.Add(objGrpWise);



                singlevm.lstCommunication = SPR.GetCommunicationWhatsAppExpiryData();
                var userDetails = (CustomerLoginDetail)Session["UserSession"];
                userDetails.CustomerName         = CR.GetCustomerName(userDetails.GroupId);
                Session["UserSession"]           = userDetails;
                singlevm.lstCSMembers            = CR.GetRMAssigned();
                singlevm.lstsummarytable         = SPR.GetSinglePageSummaryTable();
                singlevm.lstnontransactingGrp    = SPR.GetSinglePageNonTransactingGroups();
                singlevm.lstnontransactingOutlet = SPR.GetNonTransactingOutlet("");
                singlevm.lstlowtransactingOutlet = SPR.GetLowTransactingOutlet("");

                singlevm.lstCitywiseData = SPR.GetCityWiseData();
                if (singlevm.lstCitywiseData != null)
                {
                    var categories = singlevm.lstCitywiseData.GroupBy(x => x.CategoryName).Select(y => y.First()).ToList();
                    singlevm.lstCategories = categories;

                    var cities = singlevm.lstCitywiseData.GroupBy(x => x.CityName).Select(y => y.First()).ToList();
                    List <CitywiseReport> objData = new List <CitywiseReport>();
                    foreach (var item in cities)
                    {
                        CitywiseReport objItem   = new CitywiseReport();
                        long           cityCount = singlevm.lstCitywiseData.Where(x => x.CityName == item.CityName).Sum(y => y.MemberBase);
                        objItem.CityName     = item.CityName;
                        objItem.CategoryName = item.CategoryName;
                        objItem.MemberBase   = cityCount;

                        objData.Add(objItem);
                    }

                    objData = objData.OrderByDescending(x => x.MemberBase).ToList();
                    cities  = objData.GroupBy(x => x.CityName).Select(y => y.First()).ToList();

                    List <CitywiseReport> objCategoryData = new List <CitywiseReport>();
                    foreach (var category in categories)
                    {
                        CitywiseReport objItem       = new CitywiseReport();
                        long           categoryCount = singlevm.lstCitywiseData.Where(x => x.CategoryName == category.CategoryName).Sum(y => y.MemberBase);
                        objItem.CategoryName = category.CategoryName;
                        objItem.MemberBase   = categoryCount;

                        objCategoryData.Add(objItem);
                    }

                    singlevm.lstCategoriesTotal = objCategoryData;
                    singlevm.GrandTotal         = objCategoryData.Sum(x => x.MemberBase);
                    singlevm.lstCities          = cities;
                }
            }
            catch (Exception ex)
            {
                newexception.AddException(ex, "Single Page");
            }
            return(View(singlevm));
        }
Esempio n. 3
0
        public List <GroupWiseDetails> GetGroupWiseData()
        {
            List <GroupWiseDetails> ObjData = new List <GroupWiseDetails>();

            try
            {
                using (var context = new CommonDBContext())
                {
                    var groups = context.tblGroupDetails.Where(x => x.IsActive == true && x.IsLive == true && x.GroupId != 1051).ToList();
                    foreach (var item in groups)
                    {
                        GroupWiseDetails objItem = new GroupWiseDetails();
                        var groupId = Convert.ToInt32(item.GroupId);
                        objItem.CustId           = Convert.ToString(item.GroupId);
                        objItem.CustName         = item.GroupName;
                        objItem.BusinessCategory = item.CustomerType;
                        var category = (from c in context.tblGroupDetails
                                        join ct in context.tblCategories on c.RetailCategory equals ct.CategoryId
                                        where c.GroupId == groupId
                                        select new
                        {
                            ct.CategoryName
                        }).FirstOrDefault();
                        objItem.CustCategory = category.CategoryName;

                        var city = (from c in context.tblGroupDetails
                                    join ct in context.tblCities on c.City equals ct.CityId
                                    where c.GroupId == groupId
                                    select new
                        {
                            ct.CityName
                        }).FirstOrDefault();

                        objItem.Location = city.CityName;

                        var CSName = (from c in context.tblGroupDetails
                                      join ct in context.tblRMAssigneds on c.RMAssigned equals ct.RMAssignedId
                                      where c.GroupId == groupId
                                      select new
                        {
                            ct.RMAssignedName
                        }).FirstOrDefault();

                        objItem.CSName = CSName.RMAssignedName;

                        string connStr = CR.GetCustomerConnString(Convert.ToString(item.GroupId));
                        using (var contextdb = new BOTSDBContext(connStr))
                        {
                            objItem.CustCount = contextdb.CustomerDetails.Count();

                            var sqlQ  = $"SELECT COUNT(*) as Count FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'BulkUploadCustList'";
                            var exist = contextdb.Database.SqlQuery <int>(sqlQ).FirstOrDefault();
                            if (exist > 0)
                            {
                                objItem.BulkUploadCount = contextdb.BulkUploadCustLists.Count();
                                objItem.Total           = objItem.CustCount + contextdb.BulkUploadCustLists.Count();
                            }
                            else
                            {
                                objItem.BulkUploadCount = 0;
                                objItem.Total           = objItem.CustCount;
                            }
                        }

                        ObjData.Add(objItem);
                    }
                }
            }
            catch (Exception ex)
            {
                newexception.AddException(ex, "GetGroupWiseData");
            }
            ObjData = ObjData.OrderByDescending(x => x.Total).ToList();
            return(ObjData);
        }