예제 #1
0
        public ProjectPropertyModel DataRowToModel(DataRow row)
        {
            ProjectPropertyModel model = new ProjectPropertyModel();

            if (row == null)
            {
                return(model);
            }

            if (row["PropertyID"] != null && row["PropertyID"].ToString() != "")
            {
                model.PropertyID = int.Parse(row["PropertyID"].ToString());
            }
            if (row["PropertyType"] != null && row["PropertyType"].ToString() != "")
            {
                model.PropertyType = row["PropertyType"].ToString();
            }
            if (row["PropertyKey"] != null && row["PropertyKey"].ToString() != "")
            {
                model.PropertyKey = row["PropertyKey"].ToString();
            }
            if (row["PropertyValue"] != null && row["PropertyValue"].ToString() != "")
            {
                model.PropertyValue = row["PropertyValue"].ToString();
            }

            return(model);
        }
예제 #2
0
        public int Insert(ProjectPropertyModel model)
        {
            string sql = "INSERT INTO [ProjectProperty]([PropertyType],[PropertyKey],[PropertyValue]) VALUES(@PropertyType,@PropertyKey,@PropertyValue)";

            SqlParameter[] parameters =
            {
                new SqlParameter("@PropertyType",  SqlDbType.NVarChar),
                new SqlParameter("@PropertyKey",   SqlDbType.NVarChar),
                new SqlParameter("@PropertyValue", SqlDbType.NVarChar),
            };
            parameters[0].Value = model.PropertyType == null ? (object)DBNull.Value : model.PropertyType;
            parameters[1].Value = model.PropertyKey == null ? (object)DBNull.Value : model.PropertyKey;
            parameters[2].Value = model.PropertyValue == null ? (object)DBNull.Value : model.PropertyValue;

            return(DbHelperSQL.ExecuteSql(sql, parameters));
        }
예제 #3
0
        public JsonResult Update(ProjectPropertyViewModel model)
        {
            try
            {
                ProjectPropertyModel projectPropertyModel = projectPropertyBll.GetModel(model.PropertyID);
                projectPropertyModel.PropertyType  = model.PropertyType;
                projectPropertyModel.PropertyKey   = model.PropertyKey;
                projectPropertyModel.PropertyValue = model.PropertyValue;

                projectPropertyBll.Update(projectPropertyModel);
                return(Json(new { code = 200 }));
            }
            catch (Exception ex)
            {
                return(Json(new { code = 500, msg = ex.Message }));
            }
        }
예제 #4
0
        public JsonResult Insert(ProjectPropertyViewModel model)
        {
            try
            {
                ProjectPropertyModel projectPropertyModel = new ProjectPropertyModel();
                projectPropertyModel.PropertyType  = model.PropertyType;
                projectPropertyModel.PropertyKey   = model.PropertyKey;
                projectPropertyModel.PropertyValue = model.PropertyValue;

                projectPropertyBll.Insert(projectPropertyModel);
                return(Json(new { code = 200 }));
            }
            catch (Exception ex)
            {
                return(Json(new { code = 500, msg = ex.Message }));
            }
        }
예제 #5
0
        public int Update(ProjectPropertyModel model)
        {
            string sql = "UPDATE [ProjectProperty] SET [PropertyType]=@PropertyType,[PropertyKey]=@PropertyKey,[PropertyValue]=@PropertyValue WHERE PropertyID=@PropertyID";

            SqlParameter[] parameters =
            {
                new SqlParameter("@PropertyID",    SqlDbType.Int),
                new SqlParameter("@PropertyType",  SqlDbType.NVarChar),
                new SqlParameter("@PropertyKey",   SqlDbType.NVarChar),
                new SqlParameter("@PropertyValue", SqlDbType.NVarChar),
            };
            parameters[0].Value = model.PropertyID;
            parameters[1].Value = model.PropertyType == null ? (object)DBNull.Value : model.PropertyType;
            parameters[2].Value = model.PropertyKey == null ? (object)DBNull.Value : model.PropertyKey;
            parameters[3].Value = model.PropertyValue == null ? (object)DBNull.Value : model.PropertyValue;

            return(DbHelperSQL.ExecuteSql(sql, parameters));
        }
예제 #6
0
 public JsonResult Delete(int propertyID)
 {
     try
     {
         ProjectPropertyModel model = projectPropertyBll.GetModel(propertyID);
         if (model != null)
         {
             projectPropertyBll.Delete(propertyID);
         }
         else
         {
             return(Json(new { code = 500, msg = "parms is null" }));
         }
         return(Json(new { code = 200 }));
     }
     catch (Exception ex)
     {
         return(Json(new { code = 500, msg = ex.Message }));
     }
 }
예제 #7
0
        public ICollection <ProjectDataItem> Resolve(ProjectUpdateModel source, Project destination, ICollection <ProjectDataItem> destMember, ResolutionContext context)
        {
            var labels           = destination.Reservation.Portfolio.Configuration.Labels;
            var portfolioContext = context.Items[nameof(PortfolioContext)] as PortfolioContext;
            var dataItems        = destMember?.ToList() ?? new List <ProjectDataItem>();

            foreach (var label in labels)
            {
                ProjectDataItem dataValue = null;
                if (label.FieldType != PortfolioFieldType.Auto && (label.Flags & (PortfolioFieldFlags.ProjectData | PortfolioFieldFlags.NotModelled)) != 0) // Ignore autogenerated fields
                {
                    var dataItem = dataItems?.SingleOrDefault(i => i.Label.Id == label.Id);
                    if (label.Flags.HasFlag(PortfolioFieldFlags.NotModelled))
                    {
                        if (source.Properties != null)
                        {
                            ProjectPropertyModel projectProperty = null;
                            source.Properties.TryGetValue(label.FieldName, out projectProperty);
                            if (!string.IsNullOrWhiteSpace(projectProperty?.ProjectDataValue))
                            {
                                dataValue = new ProjectDataItem()
                                {
                                    Label = label, Value = projectProperty.ProjectDataValue
                                };
                            }
                        }
                    }
                    else
                    {
                        PropertyInfo property;
                        if (unmappedProperties.TryGetValue(label.FieldName, out property))
                        {
                            var value = property.GetValue(source);
                            if (value != null && !value.Equals(string.Empty))
                            {
                                dataValue = new ProjectDataItem()
                                {
                                    Label = label, Value = JsonConvert.SerializeObject(value)
                                };
                            }
                        }
                    }

                    if (dataValue != null)
                    {
                        // Add or set the value
                        if (dataItem == null)
                        {
                            dataItem = new ProjectDataItem()
                            {
                                Label = dataValue.Label
                            };
                            dataItems.Add(dataItem);
                        }
                        dataItem.Value = dataValue.Value;
                    }
                    else if (dataItem != null)
                    {
                        // Remove the data
                        dataItems.Remove(dataItem);
                        portfolioContext.ProjectDataItems.Remove(dataItem);
                    }
                }
            }
            return(dataItems);
        }
예제 #8
0
 public int Update(ProjectPropertyModel model)
 {
     return(dal.Update(model));
 }
예제 #9
0
 public int Insert(ProjectPropertyModel model)
 {
     return(dal.Insert(model));
 }