Common/GanttRequest.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using OPMS.Models;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Threading;
using System.Web;
using System.Web.Mvc;

namespace OPMS
{
    public class GanttRequest
    {
        public GanttMode Mode { get; set; }
        public GanttAction Action { get; set; }

        public Task UpdatedTask { get; set; }
        public Link UpdatedLink { get; set; }
        public long SourceId { get; set; }

        /// <summary>
        /// Create new GanttData object and populate it
        /// </summary>
        /// <param name="form">Form collection</param>
        /// <returns>New GanttData</returns>
        public static List<GanttRequest> Parse(FormCollection form, string ganttMode)
        {
            // save current culture and change it to InvariantCulture for data parsing
            var currentCulture = Thread.CurrentThread.CurrentCulture;
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;

            var dataActions = new List<GanttRequest>();
            var prefixes = form["ids"].Split(',');

            foreach (var prefix in prefixes)
            {
                var request = new GanttRequest();

                // lambda expression for form data parsing
                Func<string, string> parse = x => form[String.Format("{0}_{1}", prefix, x)];

                request.Mode = (GanttMode)Enum.Parse(typeof(GanttMode), ganttMode, true);
                request.Action = (GanttAction)Enum.Parse(typeof(GanttAction), parse("!nativeeditor_status"), true);
                if (parse("id") != null && parse("id") != "0")
                {
                    request.SourceId = Int64.Parse(parse("id"));
                }

                // parse gantt task
                if (request.Mode == GanttMode.Tasks)
                {
                    Task info = new Task();
                    info.Id = (request.Action == GanttAction.Inserted) ? request.SourceId.ToString() : "0";
                    info.Text = parse("text");//描述
                    info.StartDate = DateTime.Parse(parse("start_date"));
                    info.Duration = Int32.Parse(parse("duration"));
                    info.Progress = (parse("progress") != null) ? Decimal.Parse(parse("progress")) : 0M; 
                    info.ParentId = parse("parent");
                    info.SortOrder = (parse("order") != null) ? Int32.Parse(parse("order")) : 0;
                    info.Type = parse("type");
后面还有 25 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。