示例#1
0
        public ActionResult AddItemToDeal(int planID, float suggestprice, int quantity, int dealID)
        {
            SSMEntities se   = new SSMEntities();
            Deal        deal = se.Deals.Find(dealID);

            if (deal != null)
            {
                Deal_Item item = new Deal_Item();
                item.planID   = planID;
                item.dealID   = dealID;
                item.price    = suggestprice;
                item.Quantity = quantity;
                if (deal.Value == null)
                {
                    deal.Value = suggestprice * quantity;
                }
                else
                {
                    deal.Value = deal.Value + suggestprice * quantity;
                }
                se.Deal_Item.Add(item);
                se.SaveChanges();
            }
            return(RedirectToAction("Detail", new { id = dealID }));
        }
示例#2
0
        public int createAndGetDealID(Deal deal, int productID, int plann)
        {
            SSMEntities     se      = new SSMEntities();
            softwareProduct product = se.softwareProducts.Find(productID);

            if (product != null)
            {
                deal.ProductID = productID;
            }
            deal.Creator         = User.Identity.GetUserId();
            deal.StartDate       = DateTime.Today;
            deal.Stage           = 1;
            deal.Probability     = 0;
            deal.CompleteOn      = null;
            deal.LastUpdateStage = null;
            deal.Status          = 1;
            deal.CurrentPlanID   = product.PrePurchase_FollowUp_Plan.Where(u => u.isOperation).FirstOrDefault().id;

            se.Deals.Add(deal);
            se.SaveChanges();
            Deal_Item         ite = new Deal_Item();
            productMarketPlan pla = se.productMarketPlans.Find(plann);

            ite.planID   = plann;
            ite.price    = pla.ceilPrice;
            ite.Quantity = 1;
            ite.dealID   = deal.id;
            se.Deal_Item.Add(ite);
            deal.Value = ite.price;
            se.SaveChanges();
            Deal_SaleRep_Respon dealrespont = new Deal_SaleRep_Respon();

            dealrespont.dealID = deal.id;
            dealrespont.userID = deal.Creator;
            se.Deal_SaleRep_Respon.Add(dealrespont);
            se.SaveChanges();
            contact contact = se.contacts.Find(deal.Client);
            int     day     = 0;
            PrePurchase_FollowUp_Plan plan = deal.softwareProduct.PrePurchase_FollowUp_Plan.Where(u => u.isOperation == true).FirstOrDefault();

            if (contact != null)
            {
                foreach (Plan_Step tep in plan.Plan_Step)
                {
                    if (tep.TimeFromLastStep == null)
                    {
                        tep.TimeFromLastStep = 0;
                    }
                    day = day + (int)tep.TimeFromLastStep;
                    DealTask task = new DealTask();
                    task.dealID          = deal.id;
                    task.TaskDescription = tep.StepEmailContent;
                    task.status          = 1;
                    if (tep.RequireMoreDetail)
                    {
                        task.status = 7;
                    }
                    task.Deadline    = DateTime.Now.AddDays(day);
                    task.CreateDate  = DateTime.Now;
                    task.TaskContent = tep.stepNo + "";
                    task.TaskName    = tep.subject + " [#:" + deal.id + "]";
                    task.type        = 8;
                    se.DealTasks.Add(task);
                    se.SaveChanges();
                    if (task.TaskDescription.Contains(se.ConfigureSys.Find(13).value))
                    {
                        String replaceall = "";
                        foreach (Deal_Item item in task.Deal.Deal_Item)
                        {
                            TrialAccount trial = item.productMarketPlan.TrialAccounts.Where(u => u.contactID == null).FirstOrDefault();
                            replaceall = replaceall + '\n' + "User Name for " + item.productMarketPlan.Name + ": " + trial.UserName + " Password: " + trial.Password;
                            TrialAccount trialupdate = se.TrialAccounts.Find(trial.AccountID);
                            trialupdate.contactID = task.Deal.contact.id;
                            se.SaveChanges();
                        }
                        task.TaskDescription = task.TaskDescription.Replace(se.ConfigureSys.Find(13).value, replaceall);
                    }
                    se.SaveChanges();
                }
            }


            return(deal.id);
        }