public async Task <ActionResult> Edit([Bind(Include = "Id,CompanyId,CompanyName,ManagerName,ManagerPhone,SalesType,CreateUserName,CreateTime,SalesLogDate")] CompanySalesDaily model,
                                              List <CompanySalesDailySalesSource> salesSourceList, List <CompanySalesDailyProductDesp> salesProductDespList, List <CompanySalesDailyParam> salesProductPercentList,
                                              List <CompanySalesDailyParam> salesProfitList, List <CompanySalesDailyFund> salesFundList)
        {
            if (ModelState.IsValid)
            {
                CompanySalesDaily dailyItem = db.CompanySalesDaily.FirstOrDefault(p => p.Id == model.Id);
                dailyItem.ManagerName  = model.ManagerName;
                dailyItem.ManagerPhone = model.ManagerPhone;
                dailyItem.SalesLogDate = model.SalesLogDate;
                dailyItem.SalesType    = model.SalesType;
                await db.SaveChangesAsync();    //看看保存运营记录,保存相关的具体运营信息

                UpdateCompanySalesDailySalesSource(model.Id, salesSourceList);
                UpdateCompanySalesDailyProductDesp(model.Id, salesProductDespList);
                UpdateCompanySalesDailyFund(model.Id, salesFundList);

                List <CompanySalesDailyParam> updateItems = new List <CompanySalesDailyParam>();
                updateItems.AddRange(salesProductPercentList);
                updateItems.AddRange(salesProfitList);
                UpdateCompanySalesDailyParam(model.Id, updateItems);

                return(RedirectToAction("Index", new { companyId = model.CompanyId }));
            }
            ViewData["SalesTypeList"] = GetSalesTypeList("国内");
            return(View(model));
        }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            CompanySalesDaily companySalesDaily = await db.CompanySalesDaily.FindAsync(id);

            db.CompanySalesDaily.Remove(companySalesDaily);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CompanySalesDaily companySalesDaily = await db.CompanySalesDaily.FindAsync(id);

            if (companySalesDaily == null)
            {
                return(HttpNotFound());
            }

            var paramList = from p in db.CompanySalesDailyParam
                            where p.CompanySalesDailyId == id
                            select p;

            var salesSources = from p in db.CompanySalesDailySalesSource
                               where p.CompanySalesDailyId == id
                               select p;

            var salesProductDesps = from p in db.CompanySalesDailyProductDesp
                                    where p.CompanySalesDailyId == id
                                    select p;

            var salesFunds = from p in db.CompanySalesDailyFund
                             where p.CompanySalesDailyId == id
                             select p;

            var model = new CompanySalesDailyViewModel(companySalesDaily, salesSources.ToList(), salesProductDesps.ToList(), paramList.ToList(), salesFunds.ToList());

            //如果没有默认值,就需要赋值默认值
            if (model.SalesSourceList == null || model.SalesSourceList.Count == 0)
            {
                model.SalesSourceList = GetDefaultSalesSource(id.Value);
            }
            if (model.SalesProductDespList == null || model.SalesProductDespList.Count == 0)
            {
                model.SalesProductDespList = GetDefaultSalesProductDesp(id.Value);
            }
            if (model.SalesProductPercentList == null || model.SalesProductPercentList.Count == 0)
            {
                model.SalesProductPercentList = GetDefaultDailyParamList(id.Value, "产品结构");
            }
            if (model.SalesProfitList == null || model.SalesProfitList.Count == 0)
            {
                model.SalesProfitList = GetDefaultDailyParamList(id.Value, "营收信息");
            }
            if (model.SalesFundList == null || model.SalesFundList.Count == 0)
            {
                model.SalesFundList = GetDefaultSalesFundList(id.Value);
            }
            ViewData["SalesTypeList"] = GetSalesTypeList("国内");
            return(View(model));
        }
        public async Task <ActionResult> Create([Bind(Include = "Id,CompanyId,CompanyName,ManagerName,ManagerPhone,SalesType,CreateUserName,CreateTime,SalesLogDate")] CompanySalesDaily companySalesDaily)
        {
            if (ModelState.IsValid)
            {
                db.CompanySalesDaily.Add(companySalesDaily);
                await db.SaveChangesAsync();

                return(RedirectToAction("Edit", new { id = companySalesDaily.Id }));
            }

            return(View(companySalesDaily));
        }
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CompanySalesDaily companySalesDaily = await db.CompanySalesDaily.FindAsync(id);

            if (companySalesDaily == null)
            {
                return(HttpNotFound());
            }
            return(View(companySalesDaily));
        }
        public ActionResult Create(int?companyId)
        {
            var model = new CompanySalesDaily();

            if (companyId.HasValue)
            {
                model.CompanyId = companyId.Value;
                var company = db.OtaCompany.FirstOrDefault(p => p.Id == companyId.Value);
                if (company != null)
                {
                    model.CompanyName = company.CompanyName;
                }
                model.CreateUserName = User.Identity.Name;
                model.SalesLogDate   = DateTime.Today;
                model.CreateTime     = DateTime.Now;
                model.ManagerName    = ""; //取上一个记录得数据
                model.ManagerPhone   = ""; //取上一个记录得数据
                model.SalesType      = "";
            }
            ViewData["SalesTypeList"] = GetSalesTypeList("国内");
            return(View(model));
        }
        public ActionResult ShowViewPartial(int id)
        {
            CompanySalesDaily dailyItem = db.CompanySalesDaily.FirstOrDefault(p => p.Id == id);
            var paramList = from p in db.CompanySalesDailyParam
                            where p.CompanySalesDailyId == id
                            select p;

            var salesSources = from p in db.CompanySalesDailySalesSource
                               where p.CompanySalesDailyId == id
                               select p;

            var salesProductDesps = from p in db.CompanySalesDailyProductDesp
                                    where p.CompanySalesDailyId == id
                                    select p;

            var salesFunds = from p in db.CompanySalesDailyFund
                             where p.CompanySalesDailyId == id
                             select p;

            var model = new CompanySalesDailyViewModel(dailyItem, salesSources.ToList(), salesProductDesps.ToList(), paramList.ToList(), salesFunds.ToList());

            return(PartialView("_PartialCompanySalesDailyView", model));
        }