Beispiel #1
0
        void Initialize()
        {
            IDataProvider dataProvider = DataSource.GetDataProvider();

            SalesbySecorSeries.DataSource = dataProvider.GetSalesBySector(new DateTime(), DateTime.Now, GroupingPeriod.All);

            dailySalesPerformance.SetSalesPerformanceProvider(new DailySalesPerformance(dataProvider));
            monthlySalesPerformance.SetSalesPerformanceProvider(new MonthlySalesPerformance(dataProvider));

            Palette palette = ChartUtils.GeneratePalette();

            chartSalesbySecor.PaletteRepository.Add(palette.Name, palette);
            chartSalesbySecor.PaletteName            = palette.Name;
            chartSalesbySecor.CustomDrawSeriesPoint += ChartUtils.CustomDrawPieSeriesPoint;


            int        year              = DateTime.Today.Year;
            SalesGroup thisYearSales     = dataProvider.GetTotalSalesByRange(new DateTime(year, 1, 1), DateTime.Today);
            decimal    fiscalToDataValue = thisYearSales.TotalCost;

            fiscalToData.Text        = fiscalToDataValue.ToString("$0,0");
            needleFiscalToData.Value = (float)thisYearSales.TotalCost;
            decimal salesForecast = SalesForecastMaker.GetYtdForecast(fiscalToDataValue);

            linearScaleRangeBarForecast.Value = (float)(salesForecast / 1000000);

            int        preYear       = year - 1;
            SalesGroup prevYearSales = dataProvider.GetTotalSalesByRange(new DateTime(preYear, 1, 1), new DateTime(preYear, 12, DateTime.DaysInMonth(preYear, 12)));

            labelFiscalYear.Text   = "FISCAL YEAR " + preYear.ToString();
            fiscalYear.Text        = prevYearSales.TotalCost.ToString("$0,0");
            needleFiscalYear.Value = (float)prevYearSales.TotalCost;
        }
Beispiel #2
0
        public JsonResult Summary(DateTime StartDate, DateTime EndDate)
        {
            try
            {
                var Sales = Sqlhelpers.GetAllSales(StartDate, EndDate).ToList();

                var result =
                    from sales in Sales
                    group sales by sales.BusinessID into SalesGroup
                    select new
                {
                    BusinessName  = SalesGroup.First().BusinessName,
                    Refill6KG     = SalesGroup.Sum(x => x.Refill_6KG),
                    Refill13KG    = SalesGroup.Sum(x => x.Refill_13KG),
                    Outright_6KG  = SalesGroup.Sum(x => x.Outright_6KG),
                    Outright_13KG = SalesGroup.Sum(x => x.Outright_13KG),
                    Complete6KG   = SalesGroup.Sum(x => x.Complete6KG),
                    Complete13KG  = SalesGroup.Sum(x => x.Complete13KG),
                };


                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { error = true, message = "Error" + ex.Message }));
            }
        }
 public SalesGroupViewModel CastModel(SalesGroup model)
 {
     return(new SalesGroupViewModel
     {
         ID = model.ID,
         Company = model.Company,
         CompanyCode = model.CompanyCode,
         Name = model.Name,
         ShortCode = model.ShortCode,
         State = model.State,
         DistrictID = model.DistrictID,
         District = new DistrictViewModel().CastModel(model.District)
     });
 }
Beispiel #4
0
        /// <summary>
        /// 获取指定日期的各个状态案件的统计信息
        /// </summary>
        /// <param name="salesGroup">销售团队信息</param>
        /// <param name="date">日期</param>
        /// <returns>统计信息</returns>
        private DayStatisticsDto GetSingleGroupStatistics(SalesGroup salesGroup, DateTime date)
        {
            var      output    = new DayStatisticsDto();
            DateTime endDate   = date.AddDays(1.0);
            DateTime thisMonth = new DateTime(date.Year, date.Month, 1);
            DateTime nextMonth = thisMonth.AddMonths(1);

            // 审核案件
            var audits = _baseAuditDal.GetAllBase()
                         .Where(p => p.SalesGroupID == salesGroup.ID && p.CreateTime >= date && p.CreateTime < endDate)
                         .ToList();

            var monthAudits = _baseAuditDal.GetAllBase()
                              .Where(p => p.SalesGroupID == salesGroup.ID && p.CreateTime >= thisMonth && p.CreateTime < nextMonth);

            // 进件案件
            var baseCases = _baseCaseDal.GetAll()
                            .Where(p => p.SalesGroupID == salesGroup.ID && p.CreateTime > date && p.CreateTime < endDate && p.NewCaseNum != null);

            // 已签约案件
            var mortages = GetMortgages(audits).ToList();

            // 已放款案件
            var afterCases = GetLendings(audits).ToList();

            // 月放款案件
            var monthAfterCases = GetLendings(monthAudits);

            output.SalesGroupId   = salesGroup.ID;
            output.SalesGroupName = salesGroup.Company;

            output.BaseCaseCount  = baseCases.Count();
            output.BaseCaseAmount = baseCases.Sum(p => p.LoanAmount) ?? 0M;

            output.AuditCaseCount  = audits.Count(p => p.CaseStatus == CaseStatus.PublicMortgage);
            output.AuditCaseAmount = audits.Where(p => p.CaseStatus == CaseStatus.PublicMortgage).Sum(p => p.AuditAmount) ?? 0M;

            output.PublicCaseCount  = mortages.Count();
            output.PublicCaseAmount = mortages.Sum(p => p.ContractAmount) ?? 0M;

            output.AfterCaseCount  = afterCases.Count();
            output.AfterCaseAmount = afterCases.Sum(p => p.ContractAmount) ?? 0M;

            output.MonthAfterCaseAmount = monthAfterCases.Sum(p => p.ContractAmount) ?? 0M;
            output.MonthAfterCaseCount  = monthAfterCases.Count();

            return(output);
        }
Beispiel #5
0
 public bool BelongsToGroup(SalesGroup group)
 => _groups.Contains(group);
 public bool AddSalesmenGroup(int salesmenId, int groupId)
 {
     try
     {
         if (CheckExistSalesGroup(salesmenId, groupId) == false)
         {
             SalesGroup r = new SalesGroup();
             r.SalesmenId = salesmenId;
             r.GroupId = groupId;
             db.SalesGroups.InsertOnSubmit(r);
             db.SubmitChanges();
             return true;
         }
         else
             return false;
     }
     catch
     {
         return false;
     }
 }
    public bool Add(string upiCode, string fullName, string phone, int roleId, int smsQuota, DateTime expiredDate,
        int groupId, int regionId, int areaId, int localId)
    {
        try
        {
            if (CheckExistedSalemen(-1, phone)) return false;

            var o = new Salesmen
                        {
                            UpiCode = upiCode,
                            FullName = fullName,
                            Phone = phone,
                            RoleId = roleId,
                            SmsQuota = smsQuota,
                            ExpiredDate = expiredDate
                        };
            db.Salesmens.InsertOnSubmit(o);
            db.SubmitChanges();

            int salesMenId = o.Id;
            if (groupId != 0)
            {
                // insert Group to SaleGroup
                SalesGroup salesGroup = new SalesGroup();
                salesGroup.GroupId = groupId;
                salesGroup.SalesmenId = salesMenId;
                db.SalesGroups.InsertOnSubmit(salesGroup);
                db.SubmitChanges();
            }

            if (regionId != 0)
            {
                // insert region
                SalesRegion salesRegion = new SalesRegion();
                salesRegion.SalesmenId = salesMenId;
                salesRegion.RegionId = regionId;
                db.SalesRegions.InsertOnSubmit(salesRegion);
                db.SubmitChanges();
            }

            if (areaId != 0)
            {
                // insert area
                SalesArea salesArea = new SalesArea();
                salesArea.SalesmenId = salesMenId;
                salesArea.AreaId = areaId;
                db.SalesAreas.InsertOnSubmit(salesArea);
                db.SubmitChanges();
            }

            if (localId != 0)
            {
                // insert area
                SalesLocal salesLocal = new SalesLocal();
                salesLocal.SalesmenId = salesMenId;
                salesLocal.LocalId = localId;
                db.SalesLocals.InsertOnSubmit(salesLocal);
                db.SubmitChanges();
            }

            return true;
        }
        catch
        {
            return false;
        }
    }
 public bool UpdateSaleGroup(int salesmenId, int groupId)
 {
     var o = (from e in db.SalesGroups where e.SalesmenId == salesmenId && e.GroupId == groupId select e).SingleOrDefault();
     if (o != null)
     {
         try
         {
             db.SalesGroups.DeleteOnSubmit(o);
             db.SubmitChanges();
             return true;
         }
         catch
         {
             return false;
         }
     }
     else
     {
         try
         {
             SalesGroup sg = new SalesGroup();
             sg.GroupId = groupId;
             sg.SalesmenId = salesmenId;
             db.SalesGroups.InsertOnSubmit(sg);
             db.SubmitChanges();
             return true;
         }
         catch
         {
             return false;
         }
     }
 }
    public bool Edit(int id, string upiCode, string fullName, string phone, int roleId, int smsQuota, DateTime expiredDate, 
        int groupId, int regionId, int areaId, int localId)
    {
        try
        {
            if (CheckExistedSalemen(id, phone)) return false;

            var o = (from e in db.Salesmens where e.Id == id select e).SingleOrDefault();
            if (o != null)
            {
                o.UpiCode = upiCode;
                o.FullName = fullName;
                o.Phone = phone;
                o.RoleId = roleId;
                o.SmsQuota = smsQuota;
                o.ExpiredDate = expiredDate;
                db.SubmitChanges();

                int salesMenId = id;
                if (groupId != 0)
                {
                    //// delete all existing setting for this 
                    //db.SalesGroups.DeleteAllOnSubmit(from sg in db.SalesGroups where sg.SalesmenId == salesMenId select sg);

                    // insert Group to SaleGroup
                    SalesGroup salesGroup = new SalesGroup();
                    salesGroup.GroupId = groupId;
                    salesGroup.SalesmenId = salesMenId;
                    db.SalesGroups.InsertOnSubmit(salesGroup);
                    db.SubmitChanges();
                }

                if (regionId != 0)
                {
                    // insert region
                    SalesRegion salesRegion = new SalesRegion();
                    salesRegion.SalesmenId = salesMenId;
                    salesRegion.RegionId = regionId;
                    db.SalesRegions.InsertOnSubmit(salesRegion);
                    db.SubmitChanges();
                }

                if (areaId != 0)
                {
                    // insert area
                    SalesArea salesArea = new SalesArea();
                    salesArea.SalesmenId = salesMenId;
                    salesArea.AreaId = areaId;
                    db.SalesAreas.InsertOnSubmit(salesArea);
                    db.SubmitChanges();
                }

                if (localId != 0)
                {
                    // insert area
                    SalesLocal salesLocal = new SalesLocal();
                    salesLocal.SalesmenId = salesMenId;
                    salesLocal.LocalId = localId;
                    db.SalesLocals.InsertOnSubmit(salesLocal);
                    db.SubmitChanges();
                }

                return true;
            }
            return false;
        }
        catch
        {
            return false;
        }
    }
Beispiel #10
0
	private void detach_SalesGroups(SalesGroup entity)
	{
		this.SendPropertyChanging();
		entity.Salesmen = null;
	}
Beispiel #11
0
 partial void DeleteSalesGroup(SalesGroup instance);
Beispiel #12
0
	private void attach_SalesGroups(SalesGroup entity)
	{
		this.SendPropertyChanging();
		entity.Salesmen = this;
	}
Beispiel #13
0
 partial void UpdateSalesGroup(SalesGroup instance);
Beispiel #14
0
 partial void InsertSalesGroup(SalesGroup instance);
Beispiel #15
0
 string GetTotalCost(SalesGroup group)
 {
     return(group.TotalCost.ToString("$#,#,0"));
 }
        // todo switch to private method
        public IEnumerable <AfterCase> GetAfterCaseByData(DateTime startTime, DateTime?endTime)
        {
            IQueryable <BaseAudit> baseAudits = GetAllAfterCases().Where(p => p.CreateTime >= startTime);

            if (endTime.HasValue)
            {
                baseAudits = baseAudits.Where(p => p.CreateTime < endTime);
            }
            baseAudits = baseAudits.OrderBy(p => p.CreateTime);

            var afterCases = new List <AfterCase>();
            List <Dictionary> dictionaries = _dictionaryBll.QueryByParentKey("-ThirdPlatform").ToList();

            foreach (var audit in baseAudits)
            {
                // 获取借款人
                RelationPersonAudit customer = _relationPersonAuditDal.GetAll().Single(p => p.AuditID == audit.ID && p.RelationType == "-PersonType-JieKuanRen");

                Lending lendingInfo = audit.NewCaseNum.Contains("HIS") ? _lendingDal.GetHIS(audit.ID) : _lendingDal.Get(audit.ID);

                SalesGroup salesGroup = _salesGroupDal.GetAll().Single(p => p.ID == audit.SalesGroupID);

                PublicMortgage mortgage = _mortgageBll.Query(audit.NewCaseNum);

                var fundDictionary = dictionaries.FirstOrDefault(p => p.Path == audit.ThirdParty);


                // 借款人和共同借款人
                var debtNames =
                    _relationPersonAuditDal.GetAll()
                    .Where(
                        p =>
                        p.AuditID == audit.ID &&
                        (p.RelationType == "-PersonType-JieKuanRen" || p.IsCoBorrower == 1)).Select(p => p.Name);

                var afterase = new AfterCase();

                afterase.CaseNum                      = audit.NewCaseNum;
                afterase.SalesGrouptId                = salesGroup.CompanyCode;
                afterase.SalesCompanyName             = salesGroup.Company;
                afterase.CompanyCode                  = salesGroup.Company.PadRight(4).Substring(0, 4);
                afterase.CustomerId                   = customer.ID;
                afterase.CustomerName                 = audit.BorrowerName;
                afterase.CustomerIdentificationType   = customer.IdentificationType;
                afterase.CustomerIdentificationNumber = customer.IdentificationNumber;
                afterase.AccountName                  = audit.OpeningSite ?? string.Empty;
                afterase.EarnestMoney                 = audit.CustEarnestMoney.ToString();
                afterase.DebtName                     = string.Join(",", debtNames.ToArray());
                afterase.LenderName                   = audit.LenderName ?? string.Empty;

                afterase.LoanTerm             = audit.AuditTerm ?? string.Empty;
                afterase.LendingDate          = lendingInfo.LendTime == null ? "" : lendingInfo.LendTime.ToString();
                afterase.PaymentDay           = lendingInfo.PaymentDay == null ? "" : lendingInfo.PaymentDay.ToString();
                afterase.ContractAmount       = audit.NewCaseNum.Contains("HIS") ? lendingInfo.ContractAmount.ToString() : mortgage.ContractAmount.ToString();
                afterase.ContractInterestRate = CONTRACT_INTEREST_RATE;
                afterase.RealInterestRate     = audit.AuditRate > 2M ? audit.AuditRate.ToString() : (audit.AuditRate * 12).ToString(); // 审计利率*12=实际年利率

                afterase.ReceiveType      = RECEIVE_TYPE;
                afterase.FundId           = audit.ThirdParty ?? string.Empty;
                afterase.FundInterestRate = GetThirdPartyRate(audit);
                afterase.FundName         = fundDictionary == null ? string.Empty : fundDictionary.Text;
                // 债转资金当作自有资金处理
                afterase.LoadType       = audit.CaseMode == DictionaryType.CaseMode.ZhaiZhuan ? DictionaryType.CaseMode.ZiYouZiJin : audit.CaseMode;
                afterase.VirtualAccount = "";
                afterase.ContractNum    = mortgage.ContractNo;

                afterCases.Add(afterase);
            }

            return(afterCases);
        }