Model view controller ASP.NET MVC5向应用程序添加2次同步时间

Model view controller ASP.NET MVC5向应用程序添加2次同步时间,model-view-controller,entity-framework-6,sqldb,Model View Controller,Entity Framework 6,Sqldb,我将2个同步时间作为2个新列添加到我的数据库中,并插入如下值: USE [DB] ALTER TABLE [dbo].[TableName] ADD ColumnName2 time, ColumnName3 time 这是为了添加列 对于插入行值,我执行了以下操作: USE DB INSERT INTO TableName (ColumnName2, ColumnName3) VALUES ('20:30:00', '23:30:00') 这是这些列的行中固定时间的数据 我还

我将2个同步时间作为2个新列添加到我的数据库中,并插入如下值:

USE [DB]


ALTER TABLE [dbo].[TableName]
    ADD ColumnName2 time, ColumnName3 time
这是为了添加列

对于插入行值,我执行了以下操作:

USE DB

INSERT INTO TableName (ColumnName2, ColumnName3)
VALUES ('20:30:00', '23:30:00')
这是这些列的行中固定时间的数据

我还浏览了应用程序的所有层,如(控制器、模型、视图、查询、服务、接口等)。现在,当我尝试更新添加的任何新时间时,它们默认为表中已存在的第一个时间,作为行中的时间列

我无法发布应用程序中时间字段的图像,因为这是不允许的。但是,该图像位于一个小面板中,由3个字段(textboxfor)组成,每个字段都有一个时间选择器

任何帮助都将不胜感激

谢谢

现在我想发布一些示例代码,看看这是否有帮助

//这些同步时间的控制器方法

[HttpPost]
        [Page(PageName.UpdateSystemConfigTime)]
        public ActionResult UpdateTime(SystemMaintenanceViewModel model)
        {
            var dateTime = DateTime.ParseExact(model.SystemConfiguration.SynchronizationTime, "h:mm tt", CultureInfo.InvariantCulture);
            var dateTime2 = DateTime.ParseExact(model.SystemConfiguration.SynchronizationTime2, "h:mm tt", CultureInfo.InvariantCulture);
            var dateTime3 = DateTime.ParseExact(model.SystemConfiguration.SynchronizationTime3, "h:mm tt", CultureInfo.InvariantCulture);                        
            //model.ProcessTime
            if (model.SystemConfiguration.SynchronizationTime != null &&
                model.SystemConfiguration.SynchronizationTime2 != null &&
                model.SystemConfiguration.SynchronizationTime3 != null);
            {
                var sysConfig = new DTO.SystemSync.SystemConfiguration
                {
                    SyncTime = dateTime.TimeOfDay,
                    SyncTime2 = dateTime2.TimeOfDay,
                    SyncTime3 = dateTime3.TimeOfDay
                };


                configService.UpdateSyncTime(sysConfig);
                configService.UpdateSyncTime2(sysConfig);
                configService.UpdateSyncTime3(sysConfig);

            }


            return RedirectToAction("Index");
        }



////My Private method

private SystemConfiguration GetSystemConfig()
        {
            var model = new SystemConfiguration();
            var config = configService.GetSyncTime();
                         configService.GetSyncTime2();
                         configService.GetSyncTime3();

            if (config == null) return model;
            var ts = config.SyncTime;
            if (ts != null)
            {
                model.SynchronizationTime = ts.ToString();
            }

            var ts2 = config.SyncTime2;
            if (ts2 != null)
            {
                model.SynchronizationTime2 = ts2.ToString();
            }

            var ts3 = config.SyncTime3;
            if (ts3 != null)
            {
                model.SynchronizationTime3 = ts3.ToString();
            }
            return model;
============================================================================
/// My configuration command


namespace --.--.Commands
{
    public class ConfigurationCommand : CommandBase, IConfigurationCommand
    {
        static ConfigurationCommand()
        {
            ConfigureAutoMapper();
        }

        private static void ConfigureAutoMapper()
        {
             Mapper.CreateMap<SystemConfiguration, entity.SystemConfiguration>()
                .ForMember(dest => dest.SyncTime, opt => opt.ResolveUsing<TimeSpanToSqlTimeResolver>())
                .ForMember(dest => dest.SyncTime2, opt => opt.ResolveUsing<TimeSpanToSqlTimeResolver>())
                .ForMember(dest => dest.SyncTime3, opt => opt.ResolveUsing<TimeSpanToSqlTimeResolver>());
        }

        public void UpdateSyncTime(SystemConfiguration timeOfDay)
        {
            Guard.NotNull(timeOfDay);
            var mapped = Mapper.Map<entity.SystemConfiguration>(timeOfDay);

            var config = Context.SystemConfigurations.SingleOrDefault();

            //if this is the first time, then we need to insert
            if (config == null)
            {
                var newConfig = new entity.SystemConfiguration
                {
                    SyncTime = mapped.SyncTime
                };
                Context.SystemConfigurations.Add(newConfig);
            }
            else
            {
                config.SyncTime = mapped.SyncTime;
            }
            SaveChanges();
        }

        public void UpdateSyncTime2(SystemConfiguration timeOfDay)
        {
            Guard.NotNull(timeOfDay);
            var mapped = Mapper.Map<entity.SystemConfiguration>(timeOfDay);

            var config = Context.SystemConfigurations.SingleOrDefault();


            if (config == null)
            {
                var newConfig = new entity.SystemConfiguration
                {
                    SyncTime2 = mapped.SyncTime2
                };
                Context.SystemConfigurations.Add(newConfig);
            }
            else
            {
                config.SyncTime2 = mapped.SyncTime2;
            }
            SaveChanges();
        }

        public void UpdateSyncTime3(SystemConfiguration timeOfDay)
        {
            Guard.NotNull(timeOfDay);
            var mapped = Mapper.Map<entity.SystemConfiguration>(timeOfDay);

            var config = Context.SystemConfigurations.SingleOrDefault();


            if (config == null)
            {
                var newConfig = new entity.SystemConfiguration
                {
                    SyncTime3 = mapped.SyncTime3
                };
                Context.SystemConfigurations.Add(newConfig);
            }
            else
            {
                config.SyncTime3 = mapped.SyncTime3;
            }
            SaveChanges();
        }
    }
}



=========================================================================================================
// My configuration service


namespace --.--.--.SystemSync
{
    public class ConfigurationService : IConfigurationService
    {
        private IConfigurationQuery query;
        private IConfigurationCommand command;

        public ConfigurationService(IConfigurationQuery query,IConfigurationCommand command)
        {
            this.query = query;
            this.command = command;
        }

        public void UpdateSyncTime(SystemConfiguration timeOfDay)
        {
            command.UpdateSyncTime(timeOfDay);

        }

        public void UpdateSyncTime2(SystemConfiguration timeOfDay)
        {
            command.UpdateSyncTime2(timeOfDay);
        }

        public void UpdateSyncTime3(SystemConfiguration timeOfDay)
        {
            command.UpdateSyncTime3(timeOfDay);
        }


        public SystemConfiguration GetSyncTime()
        {
            return query.GetSyncTime();
        }

        public SystemConfiguration GetSyncTime2()
        {
            return query.GetSyncTime2();
        }

        public SystemConfiguration GetSyncTime3()
        {
            return query.GetSyncTime3();
        }


        public List<PageResource> GetPages()
        {
            return query.GetPages().ToList();
        }

    }
}
[HttpPost]
[页面(PageName.UpdateSystemConfigTime)]
公共操作结果更新时间(系统维护视图模型)
{
var dateTime=dateTime.ParseExact(model.SystemConfiguration.SynchronizationTime,“h:mm tt”,CultureInfo.InvariantCulture);
var dateTime2=DateTime.ParseExact(model.SystemConfiguration.SynchronizationTime2,“h:mm tt”,CultureInfo.InvariantCulture);
var dateTime3=DateTime.ParseExact(model.SystemConfiguration.SynchronizationTime3,“h:mm tt”,CultureInfo.InvariantCulture);
//模型处理时间
if(model.SystemConfiguration.SynchronizationTime!=null&&
model.SystemConfiguration.SynchronizationTime2!=null&&
model.SystemConfiguration.SynchronizationTime3!=null);
{
var sysConfig=new DTO.SystemSync.SystemConfiguration
{
SyncTime=dateTime.TimeOfDay,
SyncTime2=dateTime2.TimeOfDay,
SyncTime3=dateTime3.TimeOfDay
};
UpdateSyncTime(sysConfig);
UpdateSyncTime2(sysConfig);
UpdateSyncTime3(sysConfig);
}
返回操作(“索引”);
}
////我的私人方法
私有系统配置GetSystemConfig()
{
var模型=新系统配置();
var config=configService.GetSyncTime();
configService.GetSyncTime2();
configService.GetSyncTime3();
if(config==null)返回模型;
var ts=config.SyncTime;
如果(ts!=null)
{
model.SynchronizationTime=ts.ToString();
}
var ts2=config.SyncTime2;
如果(ts2!=null)
{
model.SynchronizationTime2=ts2.ToString();
}
var ts3=config.SyncTime3;
如果(ts3!=null)
{
model.SynchronizationTime3=ts3.ToString();
}
收益模型;
============================================================================
///我的配置命令
命名空间--.--.命令
{
公共类配置命令:CommandBase、IConfigurationCommand
{
静态配置命令()
{
ConfigureAutoMapper();
}
私有静态void ConfigureAutoMapper()
{
Mapper.CreateMap()
.FormMember(dest=>dest.SyncTime,opt=>opt.resolvesusing())
.FormMember(dest=>dest.SyncTime2,opt=>opt.resolvesusing())
.FormMember(dest=>dest.SyncTime3,opt=>opt.resolvesusing());
}
public void UpdateSyncTime(系统配置时间)
{
Guard.NotNull(一天中的时间);
var-mapped=Mapper.Map(timeOfDay);
var config=Context.SystemConfigurations.SingleOrDefault();
//如果这是第一次,那么我们需要插入
if(config==null)
{
var newConfig=new entity.SystemConfiguration
{
SyncTime=mapped.SyncTime
};
Context.SystemConfigurations.Add(newConfig);
}
其他的
{
config.SyncTime=mapped.SyncTime;
}
保存更改();
}
public void UpdateSyncTime2(系统配置时间)
{
Guard.NotNull(一天中的时间);
var-mapped=Mapper.Map(timeOfDay);
var config=Context.SystemConfigurations.SingleOrDefault();
if(config==null)
{
var newConfig=new entity.SystemConfiguration
{
SyncTime2=mapped.SyncTime2
};
Context.SystemConfigurations.Add(newConfig);
}
其他的
{
config.SyncTime2=mapped.SyncTime2;
}
保存更改();
}
public void UpdateSyncTime3(系统配置时间)
{
Guard.NotNull(一天中的时间);
var-mapped=Mapper.Map(timeOfDay);
var config=Context.SystemConfigurations.SingleOrDefault();
if(config==null)
{
var newConfig=new entity.SystemConfiguration
{
SyncTime3=mapped.SyncTime3
};
Context.SystemConfigurations.Add(newConfig);
}
其他的
{
config.SyncTime3=mapped.SyncTime3;
}
保存更改();
}
}
}
=========================================================================================================
//我的配置服务
名称空间--.--.SystemSync
{
公共课
   CREATE TABLE [dbo].[Zamen](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [time1] [time](3) NOT NULL,
    [time2] [time](3) NOT NULL,
    [Content] [varchar](100) NULL,
 CONSTRAINT [PK_Zamen] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
))

GO

ALTER TABLE [dbo].[Zamen] ADD  CONSTRAINT [DF_Zamen_time1]  DEFAULT (getdate()) FOR [time1]
GO

ALTER TABLE [dbo].[Zamen] ADD  CONSTRAINT [DF_Zamen_time2]  DEFAULT (getdate()) FOR [time2]
GO
INSERT INTO Zamen (Content) VALUES ('demo')