예제 #1
0
    public List <PlanDetail> GetPlanDemos(Guid wkpId)
    {
        DataTable         table = publicDbOpClass.DataTableQuary("select * from Pm_WorkPlan_WeekPlanDetails where wkpid='" + wkpId + "'");
        List <PlanDetail> list  = new List <PlanDetail>();

        if (table.Rows.Count <= 0)
        {
            return(null);
        }
        for (int i = 0; i < table.Rows.Count; i++)
        {
            PlanDetail item = new PlanDetail {
                WkpChief     = table.Rows[i]["WkpChief"].ToString(),
                WkpContents  = table.Rows[i]["WkpContents"].ToString(),
                WkpDetailsId = new Guid(table.Rows[i]["WkpDetailsId"].ToString()),
                WkpEndTime   = DateTime.Parse(table.Rows[i]["WkpEndTime"].ToString()),
                WkpId        = new Guid(table.Rows[i]["WkpId"].ToString()),
                WkpPersons   = table.Rows[i]["WkpPersons"].ToString(),
                WkpStandard  = table.Rows[i]["WkpStandard"].ToString(),
                WkpStartTime = DateTime.Parse(table.Rows[i]["WkpStartTime"].ToString())
            };
            list.Add(item);
        }
        return(list);
    }
예제 #2
0
        public async Task <PlanDetail> CreateAsync(PlanDetail model)
        {
            using (var ts = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                string coverUrl = "https://akacademy.blob.core.windows.net/plannerapp/EwRGr1DXAAEXNK1.jpg"; // TODO: Update the default picture uploaded
                if (model.CoverFile != null)
                {
                    coverUrl = await _storage.SaveBlobAsync(model.CoverFile, Models.BlobType.Image);
                }

                var plan = new Plan
                {
                    Id           = Guid.NewGuid().ToString(),
                    CoverPath    = coverUrl,
                    CreatedDate  = DateTime.UtcNow,
                    Description  = model.Description?.Trim(),
                    Title        = model.Title.Trim(),
                    ModifiedDate = DateTime.UtcNow,
                    UserId       = _identity.UserId,
                };
                await _db.Plans.AddAsync(plan);

                await _db.SaveChangesAsync();

                var result = plan.ToPlanDetail(true);

                ts.Complete();
                return(result);
            }
        }
예제 #3
0
        //delete
        public IActionResult DeleteDetail(int id)
        {
            PlanDetail planDetail = _planRepository.GetDetailById(id);

            _planRepository.DeleteDetail(planDetail);

            return(RedirectToAction("detailtable"));
        }
예제 #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            PlanDetail planDetail = db.PlanDetails.Find(id);

            db.PlanDetails.Remove(planDetail);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="PlanDetail"></param>
        /// <returns></returns>
        public PlanDetail CreatePlanDetail(int planID, int year)
        {
            PlanDetail newPlanDetail = new PlanDetail();

            newPlanDetail.PlanID = planID;
            newPlanDetail.Year   = year;
            return(CreatePlanDetail(newPlanDetail));
        }
예제 #6
0
        public ViewResult Detail(int id)
        {
            var service = new PlanService();
            var plan    = service.GetById(id);

            var model = new PlanDetail(plan);

            return(View("_Detail", model));
        }
예제 #7
0
    public static string GetUpdateStr(PlanDetail plModel, Guid WkpDetailsId)
    {
        StringBuilder builder = new StringBuilder();

        builder.AppendFormat("update pm_workplan_weekplandetails set WkpChief='" + plModel.WkpChief + "', WkpContents='" + plModel.WkpContents + "', WkpEndTime='", new object[0]);
        builder.AppendFormat(string.Concat(new object[] { plModel.WkpEndTime, "', WkpPersons='", plModel.WkpPersons, "', WkpStandard='", plModel.WkpStandard, "' ,WkpStartTime='", plModel.WkpStartTime, "'" }), new object[0]);
        builder.AppendFormat(" where WkpdetailsId='" + WkpDetailsId + "'", new object[0]);
        return(builder.ToString());
    }
예제 #8
0
    public bool AddModelIntoBaseData(PlanDetail plan)
    {
        StringBuilder builder = new StringBuilder();

        builder.AppendFormat("insert into Pm_WorkPlan_WeekPlanDetails (WkpDetailsId,WkpId,WkpContents,WkpStartTime,WkpEndTime,WkpPersons,WkpChief,WkpStandard) values('", new object[0]);
        builder.AppendFormat(string.Concat(new object[] { plan.WkpDetailsId, "','", plan.WkpId, "','", plan.WkpContents, "','", plan.WkpStartTime, "','", plan.WkpEndTime, "','" }), new object[0]);
        builder.AppendFormat(plan.WkpPersons + "','" + plan.WkpChief + "','" + plan.WkpStandard + "')", new object[0]);
        return(publicDbOpClass.NonQuerySqlString(builder.ToString()));
    }
예제 #9
0
    public static string GetInsertStr(PlanDetail plan)
    {
        StringBuilder builder = new StringBuilder();

        builder.AppendFormat("insert into Pm_WorkPlan_WeekPlanDetails (WkpDetailsId,WkpId,WkpContents,WkpStartTime,WkpEndTime,WkpPersons,WkpChief,WkpStandard) values('", new object[0]);
        builder.AppendFormat(string.Concat(new object[] { plan.WkpDetailsId, "','", plan.WkpId, "','", plan.WkpContents, "','", plan.WkpStartTime, "','", plan.WkpEndTime, "','" }), new object[0]);
        builder.AppendFormat(plan.WkpPersons + "','" + plan.WkpChief + "','" + plan.WkpStandard + "')", new object[0]);
        return(builder.ToString());
    }
예제 #10
0
        private void BuildInMemoryData()
        {
            //default plan:
            var planDetails1 = new PlanDetail {
                ServiceCode = "Plan Detail - 1", ServiceName = "Surgery One"
            };
            var planDetails2 = new PlanDetail {
                ServiceCode = "Plan Detail - 2", ServiceName = "Surgery Two"
            };
            var planDetails3 = new PlanDetail {
                ServiceCode = "Plan Detail - 3", ServiceName = "Surgery Three"
            };
            var planDetails4 = new PlanDetail {
                ServiceCode = "Plan Detail - 4", ServiceName = "Surgery Four"
            };
            var planOne = new Plan {
                Name = "Plan - One", CoPayPercent = 10, CoverageType = "Medical", DeductiblePercent = 50, EffectiveStartDate = "2019-10-10", EffectiveEndDate = "2020-10-09"
            };

            planOne.PlanDetails.Add(planDetails1);
            planOne.PlanDetails.Add(planDetails2);
            var planTwo = new Plan {
                Name = "Plan - Two", CoPayPercent = 20, CoverageType = "Medical", DeductiblePercent = 40, EffectiveStartDate = "2019-11-20", EffectiveEndDate = "2020-11-19"
            };

            planTwo.PlanDetails.Add(planDetails3);
            planTwo.PlanDetails.Add(planDetails4);
            var coverageTypeOne = new CoverageType {
                Name = "Medical", Plans = new List <Plan>()
                {
                    planOne
                }
            };
            var coverageTypeTwo = new CoverageType {
                Name = "Other", Plans = new List <Plan>()
                {
                    planTwo
                }
            };

            if (!_context.Benefits.Any())
            {
                _context.Benefits.AddRange
                (
                    new Benefit {
                    Plan = planOne, MemberId = "12345", SubscriberId = "1001", DateOfService = "2019-08-10", EligStatus = "eligible", CoverageType = coverageTypeOne
                }
                    , new Benefit {
                    Plan = planTwo, MemberId = "12346", SubscriberId = "1002", DateOfService = "2019-08-15", EligStatus = "eligible", CoverageType = coverageTypeTwo
                }
                );
            }

            _context.SaveChanges();
        }
예제 #11
0
        public ActionResult AddPlan(PlanDetail planDetail)
        {
            PlanDetail plan = new PlanDetail();

            plan.PlanName     = planDetail.PlanName;
            plan.PlanDuration = planDetail.PlanDuration;

            entities.PlanDetails.Add(plan);
            entities.SaveChanges();
            return(View("AdminHome"));
        }
        public PlanDetail UpdatePlanDetail(PlanDetail PlanDetail)
        {
            var c = ctx.PlanDetail.Where(x => x.ID == PlanDetail.ID).First();

            if (c != null)
            {
                c.PlanID = PlanDetail.PlanID;
                c.Year   = PlanDetail.Year;
                ctx.SaveChanges();
            }
            return(c);
        }
예제 #13
0
 public ActionResult Edit([Bind(Include = "Id,ConnectionId,Duration,Description,ApplicationUserId")] PlanDetail planDetail)
 {
     if (ModelState.IsValid)
     {
         db.Entry(planDetail).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ApplicationUserId = new SelectList(db.Users, "Id", "Name", planDetail.ApplicationUserId);
     ViewBag.ConnectionId      = new SelectList(db.Connections, "Id", "ConnectionName", planDetail.ConnectionId);
     return(View(planDetail));
 }
예제 #14
0
        // GET: PlanDetails/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PlanDetail planDetail = db.PlanDetails.Find(id);

            if (planDetail == null)
            {
                return(HttpNotFound());
            }
            return(View(planDetail));
        }
예제 #15
0
        public ActionResult Create([Bind(Include = "Id,ConnectionId,Duration,Description,ApplicationUserId")] PlanDetail planDetail)
        {
            if (ModelState.IsValid)
            {
                planDetail.ApplicationUserId = User.Identity.GetUserId();
                db.PlanDetails.Add(planDetail);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ApplicationUserId = new SelectList(db.Users, "Id", "Name", planDetail.ApplicationUserId);
            ViewBag.ConnectionId      = new SelectList(db.Connections, "Id", "ConnectionName", planDetail.ConnectionId);
            return(View(planDetail));
        }
예제 #16
0
        private void AddPlans(string user, int type, string duration, string description)
        {
            db = new ApplicationDbContext();
            PlanDetail planDetail = new PlanDetail()
            {
                ApplicationUserId = user,
                ConnectionId      = type,
                Description       = description,
                Duration          = duration,
            };

            db.PlanDetails.Add(planDetail);
            db.SaveChanges();
        }
예제 #17
0
        // GET: PlanDetails/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PlanDetail planDetail = db.PlanDetails.Find(id);

            if (planDetail == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ApplicationUserId = new SelectList(db.Users, "Id", "Name", planDetail.ApplicationUserId);
            ViewBag.ConnectionId      = new SelectList(db.Connections, "Id", "ConnectionName", planDetail.ConnectionId);
            return(View(planDetail));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="mf"></param>
        /// <param name="accountId"></param>
        /// <param name="Close"></param>
        public frmPlan(frmMain mf, Plan plan, FormClosedEventHandler Close = null)
        {
            frmSplashScreen ss = new frmSplashScreen();

            ss.Show();
            Application.DoEvents();

            InitializeComponent();

            frmMain_Parent = mf;

            this.MaximumSize = Screen.PrimaryScreen.WorkingArea.Size;

            Application.AddMessageFilter(this);
            controlsToMove.Add(this.pnlSummaryTabHeader);
            controlsToMove.Add(this.panel16);
            controlsToMove.Add(this.label1);
            controlsToMove.Add(this.label23);

            FormClosed += Close;

            CurrentPlan              = plan;
            CurrentPlanDetail        = new PlanDetail(plan.PlanId);
            txtName.Text             = CurrentPlan.Name;
            txtOutstandingLoans.Text = CurrentPlanDetail.LoansOutstanding.ToString();
            txtSelfDirectedBrokerageAccounts.Text = CurrentPlanDetail.SelfDirectedBrokerageAccounts.ToString();

            cboRkViews.SelectedIndex                   = 0;
            cboAdvisorViews.SelectedIndex              = 0;
            cboAuditorViews.SelectedIndex              = 0;
            cboInvestmentViews.SelectedIndex           = 0;
            cboIssueViews.SelectedIndex                = 0;
            cboContributionViews.SelectedIndex         = 0;
            cboDistributionViews.SelectedIndex         = 0;
            cboActiveParticipantViews.SelectedIndex    = 0;
            cboEligibleParticipantsViews.SelectedIndex = 0;

            ss.Close();
            this.Show();
        }
예제 #19
0
        public async Task <PlanDetail> EditAsync(PlanDetail model)
        {
            using (var ts = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                var plan = await _db.Plans.FindAsync(model.Id);

                if (plan == null)
                {
                    throw new NotFoundException($"Plan with the Id: {model.Id} not found");
                }

                var url = plan.CoverPath;
                var old = plan.CoverPath;
                if (model.CoverFile != null)
                {
                    url = await _storage.SaveBlobAsync(model.CoverFile, Models.BlobType.Image);
                }

                plan.Title        = model.Title;
                plan.Description  = model.Description;
                plan.ModifiedDate = DateTime.UtcNow;
                plan.CoverPath    = url;

                await _db.SaveChangesAsync();

                if (old.Contains("default.jpg"))
                {
                    await _storage.RemoveAsync(old);
                }

                var result = plan.ToPlanDetail(true);

                ts.Complete();
                return(result);
            }
        }
예제 #20
0
 public bool UpdateModel(PlanDetail plModel, Guid WkpId)
 {
     return(publicDbOpClass.NonQuerySqlString(GetUpdateStr(plModel, WkpId)));
 }
예제 #21
0
        public PlanDetail RecalculateProperties()
        {
            var            output            = new PlanDetail();
            IBasicPlanTask lastParent        = null;
            IBasicPlanTask previousTask      = null;
            var            parents           = new List <IBasicPlanTask> ();
            var            milestoneChildren = new List <IBasicPlanTask> ();
            var            parentIdMap       = new Dictionary <long, IBasicPlanTask> ();
            var            childrenCount     = new Dictionary <long, int> ();

            for (int i = 0, max = this.planTasks.Count; i < max; i++)
            {
                var task = planTasks[i];

                if (!task.IsMilestone)
                {
                    milestoneChildren.Add(task);
                }

                if (previousTask != null)
                {
                    if (task.Indentation > previousTask.Indentation)
                    {
                        parents.Add(previousTask);

                        lastParent = previousTask;
                        lastParent.IsHeaderTask = true;

                        // Reset parent's value
                        ResetTask(lastParent);
                    }
                    else if (task.Indentation == previousTask.Indentation)
                    {
                        previousTask.IsHeaderTask = false;
                    }
                }

                if (lastParent != null && lastParent.Indentation >= task.Indentation)
                {
                    while (lastParent != null && lastParent.Indentation >= task.Indentation)
                    {
                        parents.RemoveAt(parents.Count - 1);
                        lastParent = parents[parents.Count - 1];
                    }
                }

                int nChildren = 0;
                if (lastParent != null)
                {
                    if (lastParent.Indentation < task.Indentation)
                    {
                        task.ParentId = lastParent.Id;
                        childrenCount.TryGetValue((long)task.ParentId, out nChildren);
                        childrenCount[(long)task.ParentId] = nChildren++;
                        task.Order       = nChildren;
                        task.Indentation = lastParent.Indentation + 1;
                        task.TaskId      = lastParent.TaskId + "." + task.Order;
                        parentIdMap.Add((long)task.ParentId, lastParent);
                    }
                    else
                    {
                        parents.RemoveAt(parents.Count - 1);
                        lastParent = parents[parents.Count - 1];
                    }
                }
                else if (lastParent == null)
                {
                    task.ParentId = null;
                    childrenCount.TryGetValue(-1, out nChildren);
                    childrenCount[-1] = nChildren++;
                    task.Order        = nChildren;
                    task.Indentation  = 0;
                    task.TaskId       = task.Order.ToString();
                }

                if (task.IsMilestone)
                {
                    // Reset milestone's value
                    ResetTask(task);
                    UpdateCumulativeProperties(milestoneChildren, task);
                }

                previousTask = task;
            }

            var percentSum        = 0M;
            var percentDictionary = new Dictionary <long, decimal> ();

            for (int i = this.planTasks.Count - 1; i >= 0; i--)
            {
                var task = planTasks[i];
                if (task.ParentId != null)
                {
                    var parent = parentIdMap[(long)task.ParentId];
                    if (parent != null)
                    {
                        UpdateCumulativeProperties(task, parent);

                        if (task is IProgressAuditedPlanTask)
                        {
                            var _percentSum = 0M;
                            percentDictionary.TryGetValue((long)task.ParentId, out _percentSum);
                            percentDictionary[(long)task.ParentId]             = (_percentSum += task.PlannedHours * ((IProgressAuditedPlanTask)task).PercentComplete);
                            ((IProgressAuditedPlanTask)parent).PercentComplete = Math.Floor(_percentSum / parent.PlannedHours);
                            ((IProgressAuditedPlanTask)parent).IsCompleted     = ((IProgressAuditedPlanTask)parent).PercentComplete == 100;
                        }
                    }
                }

                if (task is ISpannedPlanTask)
                {
                    output.EndDate   = (DateTime)GeneralUtility.Max(((ISpannedPlanTask)task).FinishDate, output.EndDate);
                    output.StartDate = (DateTime)GeneralUtility.Min(((ISpannedPlanTask)task).StartDate, output.StartDate);

                    if (!task.IsMilestone && !task.IsHeaderTask)
                    {
                        output.PlannedHours += task.PlannedHours;

                        if (task is IProgressAuditedPlanTask)
                        {
                            percentSum += task.PlannedHours * ((IProgressAuditedPlanTask)task).PercentComplete;
                        }
                    }
                }
            }

            output.PercentComplete = Math.Floor(percentSum / output.PlannedHours);
            return(output);
        }
예제 #22
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        bool flag = false;

        if (base.Request.QueryString["Action"] == "Add")
        {
            string sqlString = string.Concat(new string[]
            {
                "select 1 from pm_workplan_weekplan where wkpreporttype=",
                base.Request.QueryString["planType"].ToString(),
                " and WkpUserCode='",
                this.txtWPcode.Text,
                "'and wkpreportuser='******'"
            });
            DataTable dataTable = publicDbOpClass.DataTableQuary(sqlString);
            if (dataTable.Rows.Count > 0)
            {
                base.RegisterScript("top.ui.alert('该单号已经被使用!请更换填写!')");
                return;
            }
            MainPlan mainPlan = new MainPlan();
            mainPlan.WkpId           = Guid.NewGuid();
            mainPlan.WkpDeptId       = ((this.thisDeptId.Value == "") ? MainPlanAndAction.BackDeptOrID(base.UserCode)[0] : this.thisDeptId.Value);
            mainPlan.WkpIsReport     = 0;
            mainPlan.WkpIstrue       = 0;
            mainPlan.WkpRecordDate   = Convert.ToDateTime(this.txtWPlanDate.Text.Trim());
            mainPlan.WkpRegisterUser = base.UserCode;
            mainPlan.WkpReportType   = int.Parse(base.Request.QueryString["planType"]);
            mainPlan.WkpReportUser   = ((this.hdnReportUser.Value == "") ? base.UserCode : this.hdnReportUser.Value);
            mainPlan.WkpUserCode     = this.txtWPcode.Text.Trim();
            mainPlan.WkpIstrue       = -1;
            mainPlan.InputTime       = DateTime.Now;
            bool   flag2 = new MainPlanAndAction().InsertIntoBase(mainPlan);
            string text  = "insert into pm_workplan_plansummary (wkppsid,wkpid,wkpremarks,wkpsummary,wkpselfscore,wkpsummarydate)";
            object obj   = text;
            text = string.Concat(new object[]
            {
                obj,
                " values ('",
                Guid.NewGuid(),
                "','",
                mainPlan.WkpId,
                "','",
                PlanDetailAction.EncodeStr(this.txtProduce.Text.Trim()),
                "','',NULL,'",
                DateTime.Now.Date,
                "')"
            });
            publicDbOpClass.ExecSqlString(text);
            PlanDetail planDetail = new PlanDetail();
            if (this.txtDuty.Text.Trim().Length > 10)
            {
                planDetail.WkpChief = this.txtDuty.Text.Trim().Substring(0, 10);
            }
            else
            {
                planDetail.WkpChief = this.txtDuty.Text.Trim();
            }
            planDetail.WkpContents  = PlanDetailAction.EncodeStr(this.txtContent.Text);
            planDetail.WkpDetailsId = Guid.NewGuid();
            planDetail.WkpEndTime   = DateTime.Parse(this.EndDate.Text + " 0:00:00");
            planDetail.WkpId        = mainPlan.WkpId;
            if (this.txtResponsibility.Text.Trim().Length > 10)
            {
                planDetail.WkpPersons = this.txtResponsibility.Text.Trim().Substring(0, 10);
            }
            else
            {
                planDetail.WkpPersons = this.txtResponsibility.Text.Trim();
            }
            planDetail.WkpStartTime = DateTime.Parse(this.BeginDate.Text + " 0:00:00");
            bool   flag3 = new PlanDetailAction().AddModelIntoBaseData(planDetail);
            string value = this.hdnNums.Value;
            if (value != "")
            {
                string[] array = value.Split(new char[]
                {
                    '?'
                });
                int num = array.Length;
                for (int i = 0; i < num - 1; i++)
                {
                    string     str         = array[i].Substring(2).ToString();
                    PlanDetail planDetail2 = new PlanDetail();
                    planDetail2.WkpDetailsId = Guid.NewGuid();
                    planDetail2.WkpEndTime   = DateTime.Parse(base.Request.Form["endedDate" + str] + " 0:00:00");
                    planDetail2.WkpContents  = PlanDetailAction.EncodeStr(base.Request.Form["txtConten" + str]);
                    planDetail2.WkpId        = mainPlan.WkpId;
                    if (base.Request.Form["txtPerson" + str].Length > 10)
                    {
                        planDetail2.WkpPersons = base.Request.Form["txtPerson" + str].Substring(0, 10);
                    }
                    else
                    {
                        planDetail2.WkpPersons = base.Request.Form["txtPerson" + str];
                    }
                    planDetail2.WkpStartTime = DateTime.Parse(base.Request.Form["beginDate" + str] + " 0:00:00");
                    if (base.Request.Form["txtCheify" + str].Length > 10)
                    {
                        planDetail2.WkpChief = base.Request.Form["txtCheify" + str].Substring(0, 10);
                    }
                    else
                    {
                        planDetail2.WkpChief = base.Request.Form["txtCheify" + str];
                    }
                    flag = new PlanDetailAction().AddModelIntoBaseData(planDetail2);
                }
                if (flag2 && flag3 && flag)
                {
                    base.RegisterScript("top.ui.tabSuccess({ parentName: '_WorkPlanMange'})");
                }
            }
            else
            {
                base.RegisterScript("top.ui.tabSuccess({ parentName: '_WorkPlanMange'})");
            }
        }
        if (base.Request.QueryString["Action"] == "Edit")
        {
            string sqlString2 = string.Concat(new string[]
            {
                "update pm_workplan_plansummary set wkpremarks='",
                PlanDetailAction.EncodeStr(this.txtProduce.Text.Trim()),
                "' where wkpid='",
                base.Request.QueryString["wkpid"],
                "'"
            });
            publicDbOpClass.NonQuerySqlString(sqlString2);
            MainPlan model = new MainPlanAndAction().GetModel(new Guid(base.Request.QueryString["wkpId"]));
            model.WkpDeptId     = ((this.thisDeptId.Value == "") ? new MainPlanAndAction().BackDeptAndID(this.txtReportUser.Text)[0] : this.thisDeptId.Value);
            model.WkpReportType = int.Parse(base.Request.QueryString["planType"]);
            model.WkpReportUser = ((this.hdnReportUser.Value == "") ? new MainPlanAndAction().BackUserCode(this.txtReportUser.Text) : this.hdnReportUser.Value);
            model.WkpRecordDate = Convert.ToDateTime(this.txtWPlanDate.Text.Trim());
            model.InputTime     = DateTime.Now;
            string text2 = "begin ";
            string text3 = "begin ";
            text2 += MainPlanAndAction.GetUpdateStr(model.WkpId.ToString(), model);
            string sqlString3 = "select 1 from pm_workplan_weekplandetails where WkpId='" + base.Request.QueryString["wkpid"].ToString() + "'";
            int    count      = publicDbOpClass.DataTableQuary(sqlString3).Rows.Count;
            if (count > 0)
            {
                List <PlanDetail> planDemos = new PlanDetailAction().GetPlanDemos(new Guid(base.Request.QueryString["wkpId"]));
                if (this.txtDuty.Text.Trim().Length > 10)
                {
                    planDemos[0].WkpChief = this.txtDuty.Text.Trim().Substring(0, 10);
                }
                else
                {
                    planDemos[0].WkpChief = this.txtDuty.Text.Trim();
                }
                planDemos[0].WkpContents = PlanDetailAction.EncodeStr(this.txtContent.Text.Trim());
                planDemos[0].WkpEndTime  = DateTime.Parse(this.EndDate.Text + " 0:00:00");
                if (this.txtResponsibility.Text.Trim().Length > 10)
                {
                    planDemos[0].WkpPersons = this.txtResponsibility.Text.Trim().Substring(0, 10);
                }
                else
                {
                    planDemos[0].WkpPersons = this.txtResponsibility.Text.Trim();
                }
                planDemos[0].WkpStartTime = DateTime.Parse(this.BeginDate.Text.Trim() + " 0:00:00");
                text2 = text2 + " " + PlanDetailAction.GetUpdateStr(planDemos[0], planDemos[0].WkpDetailsId);
                string text4 = this.hdnNums.Value;
                if (text4 != "")
                {
                    string value2 = this.hdnDelPlanId.Value;
                    if (value2 != "")
                    {
                        string[] array2 = value2.Split(new char[]
                        {
                            '?'
                        });
                        for (int j = 0; j < array2.Length - 1; j++)
                        {
                            text3 = text3 + "delete from Pm_WorkPlan_WeekPlanDetails where WkpDetailsId='" + array2[j] + "' ";
                        }
                        text3 += " end";
                        string   value3 = this.hdnDelTableId.Value;
                        string[] array3 = value3.Split(new char[]
                        {
                            ','
                        });
                        for (int k = 0; k < array3.Length - 1; k++)
                        {
                            text4 = text4.Replace(array3[k], "");
                        }
                    }
                    else
                    {
                        text3 = " ";
                    }
                    if (text4 != "")
                    {
                        string[] array4 = text4.Split(new char[]
                        {
                            '?'
                        });
                        int num2 = array4.Length;
                        for (int l = 1; l < count + 1 - value2.Split(new char[]
                        {
                            '?'
                        }).Length; l++)
                        {
                            string str2 = array4[l - 1].Substring(2).ToString();
                            planDemos[l].WkpEndTime  = DateTime.Parse(base.Request.Form["endedDate" + str2] + " 0:00:00");
                            planDemos[l].WkpContents = PlanDetailAction.EncodeStr(base.Request.Form["txtConten" + str2]);
                            if (base.Request.Form["txtPerson" + str2].Length > 10)
                            {
                                planDemos[l].WkpPersons = base.Request.Form["txtPerson" + str2].Substring(0, 10);
                            }
                            else
                            {
                                planDemos[l].WkpPersons = base.Request.Form["txtPerson" + str2];
                            }
                            planDemos[l].WkpStartTime = DateTime.Parse(base.Request.Form["beginDate" + str2].ToString() + " 0:00:00");
                            if (base.Request.Form["txtCheify" + str2].Length > 10)
                            {
                                planDemos[l].WkpChief = base.Request.Form["txtCheify" + str2].Substring(0, 10);
                            }
                            else
                            {
                                planDemos[l].WkpChief = base.Request.Form["txtCheify" + str2];
                            }
                            text2 = text2 + " " + PlanDetailAction.GetUpdateStr(planDemos[l], planDemos[l].WkpDetailsId);
                        }
                        if (num2 - 1 < count)
                        {
                            text2 += " end";
                        }
                        else
                        {
                            for (int m = count; m <= num2 - 1; m++)
                            {
                                string     str3        = array4[m - 1].Substring(2).ToString();
                                PlanDetail planDetail3 = new PlanDetail();
                                planDetail3.WkpDetailsId = Guid.NewGuid();
                                planDetail3.WkpEndTime   = DateTime.Parse(base.Request.Form["endedDate" + str3] + " 0:00:00");
                                planDetail3.WkpContents  = PlanDetailAction.EncodeStr(base.Request.Form["txtConten" + str3]);
                                planDetail3.WkpId        = model.WkpId;
                                if (base.Request.Form["txtPerson" + str3].Length > 10)
                                {
                                    planDetail3.WkpPersons = base.Request.Form["txtPerson" + str3].Substring(0, 10);
                                }
                                else
                                {
                                    planDetail3.WkpPersons = base.Request.Form["txtPerson" + str3];
                                }
                                planDetail3.WkpStartTime = Convert.ToDateTime(base.Request.Form["beginDate" + str3]);
                                if (base.Request.Form["txtChiefy" + str3] != null && base.Request.Form["txtChiefy" + str3].Length > 10)
                                {
                                    planDetail3.WkpChief = base.Request.Form["txtChiefy" + str3].Substring(0, 10);
                                }
                                else
                                {
                                    planDetail3.WkpChief = ((base.Request.Form["txtChiefy" + str3] == null) ? new MainPlanAndAction().BackUserName(base.UserCode) : base.Request.Form["txtChiefy" + str3]);
                                }
                                text2 = text2 + " " + PlanDetailAction.GetInsertStr(planDetail3);
                            }
                            text2 += " end";
                        }
                    }
                    else
                    {
                        text2 += " end";
                    }
                }
                else
                {
                    text3  = " ";
                    text2 += " end";
                }
            }
            else
            {
                PlanDetail planDetail4 = new PlanDetail();
                if (this.txtResponsibility.Text.Trim().Length > 10)
                {
                    planDetail4.WkpChief = this.txtResponsibility.Text.Trim().Substring(0, 10);
                }
                else
                {
                    planDetail4.WkpChief = this.txtResponsibility.Text.Trim();
                }
                planDetail4.WkpContents  = PlanDetailAction.EncodeStr(this.txtContent.Text.Trim());
                planDetail4.WkpDetailsId = Guid.NewGuid();
                planDetail4.WkpEndTime   = DateTime.Parse(this.EndDate.Text + " 0:00:00");
                planDetail4.WkpId        = model.WkpId;
                if (this.txtDuty.Text.Trim().Length > 10)
                {
                    planDetail4.WkpPersons = this.txtDuty.Text.Trim().Substring(0, 10);
                }
                else
                {
                    planDetail4.WkpPersons = this.txtDuty.Text.Trim();
                }
                planDetail4.WkpStartTime = DateTime.Parse(this.BeginDate.Text + " 0:00:00");
                bool   flag3  = new PlanDetailAction().AddModelIntoBaseData(planDetail4);
                string value4 = this.hdnNums.Value;
                if (value4 != "")
                {
                    string[] array5 = value4.Split(new char[]
                    {
                        '?'
                    });
                    int num3 = array5.Length;
                    for (int n = 0; n < num3 - 1; n++)
                    {
                        string     str4        = array5[n].Substring(2).ToString();
                        PlanDetail planDetail5 = new PlanDetail();
                        planDetail5.WkpDetailsId = Guid.NewGuid();
                        planDetail5.WkpEndTime   = DateTime.Parse(base.Request.Form["endedDate" + str4] + " 0:00:00");
                        planDetail5.WkpContents  = PlanDetailAction.EncodeStr(base.Request.Form["txtConten" + str4]);
                        planDetail5.WkpId        = model.WkpId;
                        if (base.Request.Form["txtPerson" + str4].Length > 10)
                        {
                            planDetail5.WkpPersons = base.Request.Form["txtPerson" + str4].Substring(0, 10);
                        }
                        else
                        {
                            planDetail5.WkpPersons = base.Request.Form["txtPerson" + str4];
                        }
                        planDetail5.WkpStartTime = DateTime.Parse(base.Request.Form["beginDate" + str4] + " 0:00:00");
                        if (base.Request.Form["txtCheify" + str4].Length > 10)
                        {
                            planDetail5.WkpChief = base.Request.Form["txtCheify" + str4].Substring(0, 10);
                        }
                        else
                        {
                            planDetail5.WkpChief = base.Request.Form["txtCheify" + str4];
                        }
                        flag = new PlanDetailAction().AddModelIntoBaseData(planDetail5);
                    }
                    if (flag3 && flag)
                    {
                        base.RegisterScript("top.ui.tabSuccess({ parentName: '_WorkPlanMange'})");
                    }
                }
                text2 = " ";
                text3 = " ";
            }
            if (PlanDetailAction.ExecuteResult(text2) && PlanDetailAction.ExecuteResult(text3))
            {
                base.RegisterScript("top.ui.tabSuccess({ parentName: '_WorkPlanMange'})");
                return;
            }
            base.RegisterScript("top.ui.alert('保存失败!')");
        }
    }
예제 #23
0
        public async Task <IActionResult> Put([FromForm] PlanDetail model)
        {
            var result = await _plans.EditAsync(model);

            return(Ok(new ApiResponse <PlanDetail>(result, "Plan edited successfully")));
        }
예제 #24
0
        public ActionResult Import(PlanHeader items)
        {
            var file = Request.Files["FileUpload"];

            try
            {
                if (file == null || file.ContentLength == 0)
                {
                    using (var dbConn = OrmliteConnection.openConn())
                    {
                        var id_head      = 0;
                        var nam_ke_hoach = 0;
                        var check_head   = dbConn.FirstOrDefault <PlanHeader>(s => s.don_vi_phu_trach == items.don_vi_phu_trach && s.nam_ke_hoach == items.nam_ke_hoach);
                        if (check_head == null)
                        {
                            items.ngay_tao       = DateTime.Now;
                            items.nguoi_tao      = currentUser.ma_nguoi_dung;
                            items.nguoi_cap_nhat = "";
                            items.ngay_cap_nhat  = DateTime.Parse("1900-01-01");
                            items.nguoi_duyet    = "";
                            items.ngay_duyet     = DateTime.Parse("1900-01-01");
                            items.trang_thai     = "MOI";
                            dbConn.Insert(items);
                            nam_ke_hoach = items.nam_ke_hoach;
                            id_head      = (int)dbConn.GetLastInsertId();
                        }
                        else
                        {
                            return(Json(new { success = false, message = "Kế hoạch năm đã được tạo. Vui  lòng cập nhật kế hoạch năm" }));
                        }
                        return(Json(new { success = true }));
                    }
                }
                else
                {
                    var fileExtension = System.IO.Path.GetExtension(file.FileName);
                    if (fileExtension != ".xlsx" && fileExtension != ".xls")
                    {
                        return(Json(new { success = false, message = "File không không đúng định dạng excel *.xlsx,*.xls" }));
                    }
                    string datetime          = DateTime.Now.ToString("yyyyMMddHHmmss");
                    string fileLocation      = string.Format("{0}/{1}", Server.MapPath("~/ExcelImport"), "[" + currentUser.ma_nguoi_dung + "-" + datetime + file.FileName);
                    string errorFileLocation = string.Format("{0}/{1}", Server.MapPath("~/ExcelImport"), "[" + currentUser.ma_nguoi_dung + "-" + datetime + "-Error]" + file.FileName);
                    string linkerror         = "[" + currentUser.ma_nguoi_dung + "-" + datetime + "-Error]" + file.FileName;
                    if (!System.IO.Directory.Exists(Server.MapPath("~/ExcelImport")))
                    {
                        System.IO.Directory.CreateDirectory(fileLocation);
                    }
                    if (System.IO.File.Exists(fileLocation))
                    {
                        System.IO.File.Delete(fileLocation);
                    }

                    file.SaveAs(fileLocation);

                    var      rownumber = 2;
                    var      total     = 0;
                    var      error     = 0;
                    FileInfo fileInfo  = new FileInfo(fileLocation);
                    var      excelPkg  = new ExcelPackage(fileInfo);
                    FileInfo template  = new FileInfo(Server.MapPath(@"~\ExportExcelFile\Plan.xlsx"));
                    template.CopyTo(errorFileLocation);
                    FileInfo       _fileInfo = new FileInfo(errorFileLocation);
                    var            _excelPkg = new ExcelPackage(_fileInfo);
                    ExcelWorksheet oSheet    = excelPkg.Workbook.Worksheets["Data"];
                    ExcelWorksheet eSheet    = _excelPkg.Workbook.Worksheets["Data"];
                    int            totalRows = oSheet.Dimension.End.Row;
                    using (var dbConn = OrmliteConnection.openConn())
                    {
                        //tao hearder
                        var id_head      = 0;
                        var nam_ke_hoach = 0;
                        var check_head   = dbConn.FirstOrDefault <PlanHeader>(s => s.don_vi_phu_trach == items.don_vi_phu_trach && s.nam_ke_hoach == items.nam_ke_hoach);
                        if (check_head == null)
                        {
                            items.ngay_tao       = DateTime.Now;
                            items.nguoi_tao      = currentUser.ma_nguoi_dung;
                            items.nguoi_cap_nhat = "";
                            items.ngay_cap_nhat  = DateTime.Parse("1900-01-01");
                            items.nguoi_duyet    = "";
                            items.ngay_duyet     = DateTime.Parse("1900-01-01");
                            items.trang_thai     = "MOI";
                            dbConn.Insert(items);
                            nam_ke_hoach = items.nam_ke_hoach;
                            id_head      = (int)dbConn.GetLastInsertId();
                        }
                        else
                        {
                            return(Json(new { success = false, message = "Kế hoạch năm đã được tạo. Vui  lòng cập nhật kế hoạch năm" }));
                        }
                        for (int i = 7; i <= totalRows; i++)
                        {
                            string idNhomSP = oSheet.Cells[i, 1].Value != null ? oSheet.Cells[i, 1].Value.ToString() : "";
                            if (idNhomSP != "")
                            {
                                continue;
                            }

                            string ma_san_pham            = oSheet.Cells[i, 2].Value != null ? oSheet.Cells[i, 2].Value.ToString() : "";
                            string don_vi_phu_trach       = oSheet.Cells[i, 3].Value != null ? oSheet.Cells[i, 3].Value.ToString().Split('/')[0] : "";
                            string don_vi_tinh            = oSheet.Cells[i, 4].Value != null ? oSheet.Cells[i, 4].Value.ToString().Split('/')[0] : "";
                            string so_luong_du_kien       = oSheet.Cells[i, 5].Value != null ? oSheet.Cells[i, 5].Value.ToString() : "";
                            string don_gia_du_kien        = oSheet.Cells[i, 6].Value != null ? oSheet.Cells[i, 6].Value.ToString() : "";
                            string tong_tien_ke_hoach_nam = oSheet.Cells[i, 7].Value != null ? oSheet.Cells[i, 7].Value.ToString() : "";
                            string ke_hoach_nam_truoc     = oSheet.Cells[i, 8].Value != null ? oSheet.Cells[i, 8].Value.ToString() : "";
                            string thuc_hien_nam_truoc    = oSheet.Cells[i, 9].Value != null ? oSheet.Cells[i, 9].Value.ToString() : "";
                            string chech_lech             = oSheet.Cells[i, 10].Value != null ? oSheet.Cells[i, 10].Value.ToString() : "";
                            string ghi_chu = oSheet.Cells[i, 11].Value != null ? oSheet.Cells[i, 11].Value.ToString() : "";
                            try
                            {
                                if (!string.IsNullOrEmpty(ma_san_pham))
                                {
                                    ma_san_pham = ma_san_pham.Split('-')[0];
                                    if (so_luong_du_kien == "")
                                    {
                                        continue;
                                    }
                                }
                                else
                                {
                                    continue;
                                }
                                var itemeexit = dbConn.FirstOrDefault <PlanDetail>(s => s.ma_san_pham == int.Parse(ma_san_pham) && s.nam_ke_hoach == id_head && s.don_vi_phu_trach == items.don_vi_phu_trach);
                                if (itemeexit != null)
                                {
                                    itemeexit.ma_san_pham = int.Parse(ma_san_pham);
                                    //itemeexit.ma_don_vi = int.Parse(don_vi_phu_trach);
                                    itemeexit.don_vi_phu_trach    = don_vi_phu_trach;
                                    itemeexit.ma_don_vi_tinh      = don_vi_tinh;
                                    itemeexit.so_luong_du_kien    = int.Parse(so_luong_du_kien);
                                    itemeexit.don_gia_du_kien_vat = double.Parse(don_gia_du_kien);
                                    itemeexit.total_tien_du_kien  = double.Parse(tong_tien_ke_hoach_nam);
                                    itemeexit.ke_hoach_nam_truoc  = double.Parse(ke_hoach_nam_truoc);
                                    itemeexit.thuc_hien_nam_truoc = double.Parse(thuc_hien_nam_truoc);
                                    itemeexit.chech_lech          = double.Parse(chech_lech);
                                    itemeexit.ghi_chu             = ghi_chu;
                                    itemeexit.ngay_tao            = DateTime.Now;
                                    itemeexit.ngay_cap_nhat       = DateTime.Parse("1900-01-01");
                                    itemeexit.nguoi_tao           = currentUser.ma_nguoi_dung;
                                    itemeexit.nguoi_cap_nhat      = "";
                                    dbConn.Update <PlanDetail>(itemeexit);
                                }
                                else
                                {
                                    var item = new PlanDetail();
                                    item.ma_san_pham = int.Parse(ma_san_pham);
                                    //item.ma_don_vi = items.ma_don_vi;
                                    item.don_vi_phu_trach    = don_vi_phu_trach;
                                    item.ma_don_vi_tinh      = don_vi_tinh;
                                    item.nam_ke_hoach        = id_head;
                                    item.so_luong_du_kien    = int.Parse(so_luong_du_kien);
                                    item.don_gia_du_kien_vat = double.Parse(don_gia_du_kien);
                                    item.total_tien_du_kien  = double.Parse(tong_tien_ke_hoach_nam);
                                    item.ke_hoach_nam_truoc  = double.Parse(ke_hoach_nam_truoc);
                                    item.thuc_hien_nam_truoc = double.Parse(thuc_hien_nam_truoc);
                                    item.chech_lech          = double.Parse(chech_lech);
                                    item.trang_thai          = "MOi";
                                    item.ghi_chu             = ghi_chu;
                                    item.nguoi_tao           = currentUser.ma_nguoi_dung;
                                    item.nguoi_cap_nhat      = "";
                                    dbConn.Insert <PlanDetail>(item);
                                    total++;
                                    rownumber++;
                                }
                                total++;
                                rownumber++;
                            }
                            catch (Exception e)
                            {
                                eSheet.Cells[rownumber, 2].Value  = ma_san_pham;
                                eSheet.Cells[rownumber, 3].Value  = don_vi_phu_trach;
                                eSheet.Cells[rownumber, 4].Value  = don_vi_tinh;
                                eSheet.Cells[rownumber, 5].Value  = so_luong_du_kien;
                                eSheet.Cells[rownumber, 6].Value  = don_gia_du_kien;
                                eSheet.Cells[rownumber, 7].Value  = tong_tien_ke_hoach_nam;
                                eSheet.Cells[rownumber, 8].Value  = ke_hoach_nam_truoc;
                                eSheet.Cells[rownumber, 9].Value  = thuc_hien_nam_truoc;
                                eSheet.Cells[rownumber, 10].Value = chech_lech;
                                eSheet.Cells[rownumber, 11].Value = ghi_chu;
                                eSheet.Cells[rownumber, 12].Value = e.Message;
                                rownumber++;
                                error++;
                                continue;
                            }
                        }
                    }
                    _excelPkg.Save();
                    return(Json(new { success = true, total = total, totalError = error, link = linkerror }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, message = ex.Message }));
            }
        }
 /// <summary>
 /// Create PlanDetail and at least one PlanDetail sign in.
 /// </summary>
 /// <param name="PlanDetail"></param>
 /// <returns></returns>
 public PlanDetail CreatePlanDetail(PlanDetail PlanDetail)
 {
     ctx.PlanDetail.Add(PlanDetail);
     ctx.SaveChanges();
     return(PlanDetail);
 }