public IEnumerable <JSSEMain> AddModifyJsseMain(JSSEMain jsse) { EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(Global.jSSEConn); var jsseMain = DBGeneric.ExecInsertUpdateStoredProcedure <JSSEMain>(entityBuilder.ProviderConnectionString, "usp_JSSE_InsertUpdateJsseMain", new[] { "UserId", "JobName", "JobDescription" }, new[] { "1", jsse.JobName, jsse.JobDescription }); return(jsseMain); }
public int AddModifyJsseCategory(JSSEMain jsse, JSSECategory category) { EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(Global.jSSEConn); var majorGroupResults = DBGeneric.ExecInsertUpdateStoredProcedure(entityBuilder.ProviderConnectionString, "usp_JSSE_InsertUpdateJsseCategory", new[] { "JSSE_ID", "Hierarchy_ID", "Category_ID" }, new[] { Convert.ToString(jsse.JSSE_ID), Convert.ToString(jsse.Hierarchy_ID), Convert.ToString(category.Category_ID) }); return(majorGroupResults); }
public int UpdateJSSETemp(JSSEMain jsse, byte[] image, string imageName) { T_JSSE_Main jsseModel = new T_JSSE_Main(); jsseModel.ModifiedBy = jsse.JSSEEnteredBy.ToLower().IndexOf("coned") >= 0 ? jsse.JSSEEnteredBy : "CONED\\" + jsse.JSSEEnteredBy; jsseModel.Location = jsse.Location; jsseModel.Status = jsse.JSSEStatus; jsseModel.Region_ID = jsse.Region_ID; jsseModel.JSSEDate = jsse.JSSEDate; jsseModel.JSSE_ID = jsse.JSSE_ID; return(jsseRepo.UpdateJSSETemp(jsseModel, image, imageName)); }
public int InsertUpdateJSSE(JSSEMain jsse) { try { return(jsseRepo.InsertUpdateJSSE(jsse)); } catch (Exception ex) { LogErrortoDatabase(ex, jsse.JSSEEnteredBy, "InsertUpdateJSSE"); throw; } }
public int AddModifyJSSE(JSSEMain jsse) { int result = 0; //add jsse, hierarchy, observee, observer var dbJsseMain = jsseRepo.AddModifyJsseMain(jsse).ToList()[0]; jsse.JSSE_ID = dbJsseMain.JSSE_ID; jsse.Hierarchy_ID = dbJsseMain.Hierarchy_ID; //add categories, comments foreach (JSSECategory category in jsse.Categories) { result = Convert.ToInt16(jsseRepo.AddModifyJsseCategory(jsse, category)); } return(result); }
public int UpdateJSSETempImage([FromBody] JSSEMain jsse) { byte[] image1 = Convert.FromBase64String(jsse.Image); return(jsseService.UpdateJSSETemp(jsse, image1, jsse.ImageName)); }
public int UpdateJSSETemp([FromBody] JSSEMain jsse) { return(jsseService.UpdateJSSETemp(jsse, null, null)); }
public int PutJSSE([FromBody] JSSEMain jsse) { // jsse.JSSEEnteredBy = HttpContext.Current.User.Identity.Name; return(jsseService.InsertUpdateJSSE(jsse)); }
public List <JSSEMain> GetUserJSSEs(JSSESearch jsseFilter) { List <JSSEMain> oJsses = new List <JSSEMain>(); try { if (jsseFilter != null && !string.IsNullOrWhiteSpace(jsseFilter.UserName)) { bool isOwner = false; jsseFilter.UserName = "******" + jsseFilter.UserName;//jsseFilter.UserName.ToLower().Replace("coned\\", ""); string[] ownerOrgs = jsseFilter.OwnerOrgIds.Split(','); if (ownerOrgs.Any(o => o == jsseFilter.Org_Id.ToString())) { isOwner = true; } DateTime fromDate, toDate; DateTime.TryParse(jsseFilter.FromDate, out fromDate); DateTime.TryParse(jsseFilter.ToDate, out toDate); var dbJsses = jsseRepo.GetUserOrgJSSEs(jsseFilter.Org_Id, jsseFilter.UserName, fromDate, toDate, isOwner); foreach (var dbJSSE in dbJsses) { JSSEMain oJsse = new JSSEMain(); oJsse.JSSE_ID = dbJSSE.JSSE_ID; oJsse.Base64_JSSE_ID = dbJSSE.JSSE_ID.ToString();//Crypto.EncryptStringAES(Convert.ToString(dbJSSE.JSSE_ID), "JSSE"); oJsse.JobName = dbJSSE.JobName; oJsse.JobDescription = dbJSSE.JobDescription; oJsse.JSSEDate = dbJSSE.JSSEDate; oJsse.Region_ID = dbJSSE.Region_ID; oJsse.Region = dbJSSE.RegionName; oJsse.Location = dbJSSE.Location; oJsse.JSSEEnteredBy = dbJSSE.CreatedBy.ToLower().Replace("coned\\", ""); oJsse.CreatedDate = dbJSSE.CreatedDate; oJsse.JSSEStatus = dbJSSE.Status; oJsse.IsAnonymous = dbJSSE.IsAnonymous; oJsse.IsExternal = dbJSSE.IsExternal; oJsse.Org_Id = dbJSSE.Org_Id; oJsse.MajorGroup_Id = dbJSSE.MajorGroup_Id; oJsse.AttachmentCount = dbJSSE.AttachmentCount; if (dbJSSE.Observees != null) { var dbObservees = dbJSSE.Observees.Split(','); List <UserInfo> observees = new List <UserInfo>(); foreach (var dbObsrvee in dbObservees) { UserInfo observee = new UserInfo(); observee.FullName = dbObsrvee; observees.Add(observee); } oJsse.Observees = observees.ToArray(); } oJsse.IsCreator = false; if (dbJSSE.Observer != null) { oJsse.Observer = new UserInfo() { FullName = dbJSSE.Observer, User_ID = dbJSSE.ObserverUserID.ToLower().Replace("coned\\", "") }; if (oJsse.Observer.User_ID == jsseFilter.UserName.ToLower().Replace("coned\\", "")) { oJsse.IsCreator = true; } } if (oJsse.JSSEEnteredBy == jsseFilter.UserName.ToLower().Replace("coned\\", "")) { oJsse.IsCreator = true; } if (ownerOrgs.Any(o => o == oJsse.Org_Id.ToString()))//&& oJsse.IsAnonymous == false { oJsse.IsCreator = true; } oJsses.Add(oJsse); } } } catch { throw; } return(oJsses); }
public JSSEMain GetJSSE(int jsseId) { JSSEMain oJsse = new JSSEMain(); try { var dbJsses = jsseRepo.GetJSSE(jsseId).ToList(); foreach (var dbJSSE in dbJsses) { oJsse.IsAnonymous = dbJSSE.IsAnonymous; //Observers List <UserInfo> oObservers = new List <UserInfo>(); List <UserInfo> oSupervisors = new List <UserInfo>(); var selObservers = string.Empty; var selSupervisors = string.Empty; foreach (var dbObserver in dbJSSE.T_JSSE_Observer.Where(j => j.Active == true)) { UserInfo observer = new UserInfo(); observer.Emp_Id = Convert.ToInt64(dbObserver.Emp_ID); observer.FirstName = dbObserver.FirstName; observer.LastName = dbObserver.LastName; observer.FullName = dbObserver.LastName + " , " + dbObserver.FirstName; observer.MajorGroup_Id = Convert.ToString(dbObserver.T_JSSE_Hierarchy.MajorGroup_Id); observer.Org_Id = Convert.ToString(dbObserver.T_JSSE_Hierarchy.Org_Id); observer.Dept_Id = Convert.ToString(dbObserver.T_JSSE_Hierarchy.Dept_Id); observer.Section_Id = Convert.ToString(dbObserver.T_JSSE_Hierarchy.Sect_Id); observer.User_ID = dbObserver.User_Id; observer.UserRole = dbObserver.UserRole; if (dbObserver.UserRole != "Supervisor") { oObservers.Add(observer); if (!string.IsNullOrEmpty(selObservers)) { selObservers = selObservers + "; " + observer.FullName; } else { selObservers = observer.FullName; } } else { oSupervisors.Add(observer); if (!string.IsNullOrEmpty(selSupervisors)) { selSupervisors = selSupervisors + "; " + observer.FullName; } else { selSupervisors = observer.FullName; } } } if (oObservers.Count > 0) { if (string.IsNullOrEmpty(oObservers[0].UserRole)) { oJsse.IsSupervsrOBSRSame = -1; } else { oJsse.IsSupervsrOBSRSame = 1; } if (oObservers[0].User_ID.ToLower() == "anonymous") { oJsse.IsOBSRAnonymous = true; } else { oJsse.IsOBSRAnonymous = false; } if (oSupervisors.Count > 0) { if (oObservers[0].Emp_Id != oSupervisors[0].Emp_Id) { oJsse.IsSupervsrOBSRSame = 0; } else { oJsse.IsSupervsrOBSRSame = 1; } } } oJsse.Observers = oObservers.ToArray(); oJsse.SelObservers = selObservers; oJsse.Supervisors = oSupervisors.ToArray(); oJsse.SelSupervisors = selSupervisors; //Observees List <UserInfo> oObservees = new List <UserInfo>(); var selObservees = string.Empty; foreach (var dbObservee in dbJSSE.T_JSSE_Observee.Where(j => j.Active == true)) { UserInfo observee = new UserInfo(); observee.Emp_Id = Convert.ToInt64(dbObservee.Emp_ID); observee.FirstName = dbObservee.FirstName; observee.LastName = dbObservee.LastName; observee.FullName = dbObservee.LastName + " , " + dbObservee.FirstName; observee.MajorGroup_Id = Convert.ToString(dbObservee.T_JSSE_Hierarchy.MajorGroup_Id); observee.Org_Id = Convert.ToString(dbObservee.T_JSSE_Hierarchy.Org_Id); observee.Dept_Id = Convert.ToString(dbObservee.T_JSSE_Hierarchy.Dept_Id); observee.Section_Id = Convert.ToString(dbObservee.T_JSSE_Hierarchy.Sect_Id); observee.User_ID = dbObservee.User_Id; //observee.UserTitle = "User Title"; oObservees.Add(observee); if (!string.IsNullOrEmpty(selObservees)) { selObservees = selObservees + "; " + observee.FullName; } else { selObservees = observee.FullName; } } oJsse.Observees = oObservees.ToArray(); oJsse.SelObservees = selObservees; oJsse.JSSE_ID = dbJSSE.JSSE_ID; oJsse.Base64_JSSE_ID = dbJSSE.JSSE_ID.ToString();//Crypto.DecryptStringAES(Convert.ToString(dbJSSE.JSSE_ID), "JSSE"); oJsse.JobName = dbJSSE.JobName; oJsse.JobDescription = dbJSSE.JobDescription; oJsse.JSSEDate = dbJSSE.JSSEDate; oJsse.JSSEStatus = dbJSSE.Status; oJsse.Location = dbJSSE.Location; var createdId = dbJSSE.CreatedBy != "Anonymous" && !dbJSSE.CreatedBy.StartsWith("CONED") ? "CONED\\" + dbJSSE.CreatedBy : dbJSSE.CreatedBy; if (dbJSSE.CreatedBy != "Anonymous") { var createdUser = JSSESecurityManager.GetUserInfo(createdId); if (createdUser != null) { oJsse.JSSECreator = createdUser.LAST_NAME + ", " + createdUser.FIRST_NAME; } else { oJsse.JSSECreator = dbJSSE.CreatedBy; } } else { oJsse.JSSECreator = dbJSSE.CreatedBy; } oJsse.JSSEEnteredBy = dbJSSE.CreatedBy; oJsse.Region_ID = dbJSSE.T_JSSE_Master_Region.Region_ID; oJsse.Location = dbJSSE.Location; oJsse.MajorGroup_Id = Convert.ToInt32(oJsse.Observees[0].MajorGroup_Id); oJsse.Org_Id = Convert.ToInt32(oJsse.Observees[0].Org_Id); oJsse.Dept_Id = !string.IsNullOrEmpty(oJsse.Observees[0].Dept_Id) ? Convert.ToInt32(oJsse.Observees[0].Dept_Id) : 0; oJsse.Section_Id = !string.IsNullOrEmpty(oJsse.Observees[0].Section_Id) ? Convert.ToInt32(oJsse.Observees[0].Section_Id) : 0; oJsse.Hierarchy_ID = dbJSSE.T_JSSE_Observee.FirstOrDefault(d => d.Active == true) != null?dbJSSE.T_JSSE_Observee.FirstOrDefault(d => d.Active == true).T_JSSE_Hierarchy.Hierarchy_ID : 0; //oJsse.majorgroups = GetMajorGroups().ToArray(); //oJsse.organizations = GetOrganizations(oJsse.MajorGroup_Id.ToString()).ToArray(); //oJsse.departments = GetDepartments(oJsse.Org_Id.ToString()).ToArray(); //oJsse.sections = GetSections(oJsse.Dept_Id.ToString()).ToArray(); List <JSSECategory> oSelCats = new List <JSSECategory>(); //Build the selected cats foreach (var dbSelCat in dbJSSE.T_JSSE_Category.Where(j => j.Active == true)) { JSSECategory oSelCat = new JSSECategory(); oSelCat.Category_ID = dbSelCat.T_JSSE_Master_Category.Category_ID; if (dbSelCat.T_JSSE_Master_Rating != null) { oSelCat.RatingID = Convert.ToString(dbSelCat.T_JSSE_Master_Rating.Rating_ID); } else { oSelCat.RatingID = "0"; } oSelCat.Comments = dbSelCat.T_JSSE_Comment.SingleOrDefault().Comment; oSelCat.JSSE_ID = dbSelCat.T_JSSE_Main.JSSE_ID; oSelCat.IsActive = Convert.ToBoolean(dbSelCat.Active); //Build the selecrted behs List <JSSEBehavior> oSelBehs = new List <JSSEBehavior>(); foreach (var dbSelBeh in dbSelCat.T_JSSE_Behavior.Where(j => j.Active == true)) { JSSEBehavior oSelBeh = new JSSEBehavior(); oSelBeh.Behavior_ID = dbSelBeh.T_JSSE_Master_Behavior.Behavior_ID; oSelBeh.BehaviorType_ID = dbSelBeh.T_JSSE_Master_Behavior.T_JSSE_Master_BehaviorType.BehaviorType_ID; oSelBeh.Category_ID = dbSelBeh.T_JSSE_Category.JSSECategory_ID; if (dbSelBeh.T_JSSE_Master_Rating != null) { oSelBeh.Rating_ID = dbSelBeh.T_JSSE_Master_Rating.Rating_ID; oSelBeh.Rating = dbSelBeh.T_JSSE_Master_Rating.Rating; } else { oSelBeh.Rating_ID = 2; // if rating is blank for old records then rating is effective } oSelBeh.Comments = dbSelBeh.Comment; oSelBeh.IsActive = Convert.ToBoolean(dbSelBeh.Active); oSelBehs.Add(oSelBeh); } oSelCat.EntBehaviors = oSelBehs.ToArray(); oSelCats.Add(oSelCat); } //Can be fine-tuned later List <JSSECategory> oAllCats = null; if (oSelCats.Count > 0) { oAllCats = GetAllMasterCategories(oJsse.Org_Id); } else { oAllCats = GetAllActiveMasterCategories(oJsse.Org_Id); } foreach (var oSelCat in oSelCats) { foreach (var oCat in oAllCats) { if (oCat.Category_ID == oSelCat.Category_ID) { oCat.RatingID = oSelCat.RatingID; oCat.Comments = oSelCat.Comments; oCat.JSSE_ID = oSelCat.JSSE_ID; foreach (var oBeh in oCat.EntBehaviors) { foreach (var oSelBeh in oSelCat.EntBehaviors) { if (oBeh.Behavior_ID == oSelBeh.Behavior_ID) { oBeh.BehviorChecked = true; oBeh.Category_ID = oSelBeh.Category_ID; oBeh.Rating_ID = oSelBeh.Rating_ID; oBeh.Rating = oSelBeh.Rating; oBeh.Comments = oSelBeh.Comments; } } } foreach (var oBeh in oCat.OrgBehaviors) { foreach (var oSelBeh in oSelCat.EntBehaviors) { if (oBeh.Behavior_ID == oSelBeh.Behavior_ID) { oBeh.BehviorChecked = true; oBeh.Category_ID = oSelBeh.Category_ID; oBeh.Rating_ID = oSelBeh.Rating_ID; oBeh.Rating = oSelBeh.Rating; oBeh.Comments = oSelBeh.Comments; } } } } oCat.EntBehaviors = oCat.EntBehaviors.Where(eb => eb.IsActive == true || eb.Category_ID != null).ToArray(); oCat.OrgBehaviors = oCat.OrgBehaviors.Where(ob => ob.IsActive == true || ob.Category_ID != null).ToArray(); } } oJsse.Categories = oAllCats.Where(c => c.IsActive == true || c.JSSE_ID != null).ToArray(); //Get the attachments for the JSSE List <JSSEAttachment> oAttachments = new List <JSSEAttachment>(); foreach (var dbAttachment in dbJSSE.T_JSSE_Attachments.Where(j => j.Active == true)) { JSSEAttachment attachment = new JSSEAttachment(); attachment.Title = dbAttachment.Title; attachment.Description = dbAttachment.Description; attachment.FileName = dbAttachment.FileName; attachment.Base64ImageString = CreateBase64Image(dbAttachment.Image); oAttachments.Add(attachment); } oJsse.Attachments = oAttachments.ToArray(); } } catch (Exception ex) { throw ex; } return(oJsse); }
public int InsertUpdateJSSE(JSSEMain jsse) { EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(Global.jSSEConn); // Observee Data var dtObservees = new DataTable(); dtObservees.Columns.Add("Row_ID", typeof(Int32)); dtObservees.Columns.Add("Emp_Id", typeof(Int64)); dtObservees.Columns.Add("User_ID", typeof(String)); dtObservees.Columns.Add("FirstName", typeof(String)); dtObservees.Columns.Add("LastName", typeof(String)); // Observer Data var dtObservers = new DataTable(); dtObservers.Columns.Add("Row_ID", typeof(Int32)); dtObservers.Columns.Add("Emp_Id", typeof(Int64)); dtObservers.Columns.Add("User_ID", typeof(String)); dtObservers.Columns.Add("FirstName", typeof(String)); dtObservers.Columns.Add("LastName", typeof(String)); // Supervisor Data var dtSupervisors = new DataTable(); dtSupervisors.Columns.Add("Row_ID", typeof(Int32)); dtSupervisors.Columns.Add("Emp_Id", typeof(Int64)); dtSupervisors.Columns.Add("User_ID", typeof(String)); dtSupervisors.Columns.Add("FirstName", typeof(String)); dtSupervisors.Columns.Add("LastName", typeof(String)); // Jsse Categories Data var dtCategories = new DataTable(); dtCategories.Columns.Add("Row_ID", typeof(Int32)); dtCategories.Columns.Add("Category_ID", typeof(Int32)); dtCategories.Columns.Add("Rating_ID", typeof(Int32)); dtCategories.Columns.Add("Behavior_IDs", typeof(String)); dtCategories.Columns.Add("BehaviorType_IDs", typeof(String)); dtCategories.Columns.Add("Comment", typeof(String)); // Jsse Behaviors Data var dtBehaviors = new DataTable(); dtBehaviors.Columns.Add("Row_ID", typeof(Int32)); dtBehaviors.Columns.Add("Category_ID", typeof(Int32)); dtBehaviors.Columns.Add("Rating_ID", typeof(Int32)); dtBehaviors.Columns.Add("Behavior_ID", typeof(Int32)); dtBehaviors.Columns.Add("BehaviorType_ID", typeof(Int32)); dtBehaviors.Columns.Add("Comment", typeof(String)); DataRow dtRow; int jsseMain; try { //in case non-anonymous Observee, get the Observee Major group details if (jsse.IsAnonymous == false) { jsse.MajorGroup_Id = Convert.ToInt32(jsse.Observees.FirstOrDefault().MajorGroup_Id); jsse.Org_Id = Convert.ToInt32(jsse.Observees.FirstOrDefault().Org_Id); jsse.Dept_Id = Convert.ToInt32(jsse.Observees.FirstOrDefault().Dept_Id); jsse.Section_Id = Convert.ToInt32(jsse.Observees.FirstOrDefault().Section_Id); for (int i = 0; i < jsse.Observees.Length; i++) { dtRow = dtObservees.NewRow(); dtRow["Row_ID"] = i + 1; dtRow["Emp_Id"] = jsse.Observees[i].Emp_Id; dtRow["User_ID"] = jsse.Observees[i].User_ID; dtRow["FirstName"] = jsse.Observees[i].FirstName; dtRow["LastName"] = jsse.Observees[i].LastName; dtObservees.Rows.Add(dtRow); } } else { // jsse.JSSEEnteredBy = "Anonymous"; dtRow = dtObservees.NewRow(); dtRow["Row_ID"] = 1; dtRow["Emp_Id"] = 0; dtRow["User_ID"] = "Anonymous"; dtRow["FirstName"] = "Anonymous"; dtRow["LastName"] = "Anonymous"; dtObservees.Rows.Add(dtRow); } //in case non-anonymous Observer if (jsse.IsOBSRAnonymous == false) { for (int i = 0; i < jsse.Observers.Length; i++) { dtRow = dtObservers.NewRow(); dtRow["Row_ID"] = i + 1; dtRow["Emp_Id"] = jsse.Observers[i].Emp_Id; dtRow["User_ID"] = jsse.Observers[i].User_ID; dtRow["FirstName"] = jsse.Observers[i].FirstName; dtRow["LastName"] = jsse.Observers[i].LastName; dtObservers.Rows.Add(dtRow); } ////add supervisor ------Hold and comment below untill Supervisor to be shown on UI //if (jsse.IsAnonymous == true) //{ // dtRow = dtSupervisors.NewRow(); // dtRow["Row_ID"] = 1; // dtRow["Emp_Id"] = 0; // dtRow["User_ID"] = "Anonymous"; // dtRow["FirstName"] = "Anonymous"; // dtRow["LastName"] = "Anonymous"; // dtSupervisors.Rows.Add(dtRow); //} //else if(jsse.IsSupervsrOBSRSame != 1) //{ // if (jsse.Supervisors.Length > 0) // { // dtRow = dtSupervisors.NewRow(); // dtRow["Row_ID"] = 1; // dtRow["Emp_Id"] = jsse.Supervisors[0].Emp_Id; // dtRow["User_ID"] = jsse.Supervisors[0].User_ID; // dtRow["FirstName"] = jsse.Supervisors[0].FirstName; // dtRow["LastName"] = jsse.Supervisors[0].LastName; // dtSupervisors.Rows.Add(dtRow); // } //} } else { dtRow = dtObservers.NewRow(); dtRow["Row_ID"] = 1; dtRow["Emp_Id"] = 0; dtRow["User_ID"] = "Anonymous"; dtRow["FirstName"] = "Anonymous"; dtRow["LastName"] = "Anonymous"; dtObservers.Rows.Add(dtRow); ////add supervisor ------Hold and comment below untill Supervisor to be shown on UI //if (jsse.IsSupervsrOBSRSame == 1 || jsse.IsAnonymous==true) //{ // dtRow = dtSupervisors.NewRow(); // dtRow["Row_ID"] = 1; // dtRow["Emp_Id"] = 0; // dtRow["User_ID"] = "Anonymous"; // dtRow["FirstName"] = "Anonymous"; // dtRow["LastName"] = "Anonymous"; // dtSupervisors.Rows.Add(dtRow); //} //else //{ // if (jsse.Supervisors.Length > 0) // { // dtRow = dtSupervisors.NewRow(); // dtRow["Row_ID"] = 1; // dtRow["Emp_Id"] = jsse.Supervisors[0].Emp_Id; // dtRow["User_ID"] = jsse.Supervisors[0].User_ID; // dtRow["FirstName"] = jsse.Supervisors[0].FirstName; // dtRow["LastName"] = jsse.Supervisors[0].LastName; // dtSupervisors.Rows.Add(dtRow); // } //} } string[] Behavs = new string[2]; string[] BehavTys = new string[2]; int rowId = 1; int behRowId = 1; //int behOrgRowId = 1; for (int i = 0; i < jsse.Categories.Length; i++) { if (jsse.Categories[i].RatingID != null || (jsse.Categories[i].Comments != null && jsse.Categories[i].Comments != "")) { dtRow = dtCategories.NewRow(); dtRow["Row_ID"] = rowId; dtRow["Category_ID"] = jsse.Categories[i].Category_ID; if (jsse.Categories[i].RatingID == "0" || jsse.Categories[i].RatingID == null) { dtRow["Rating_ID"] = DBNull.Value; } else { dtRow["Rating_ID"] = jsse.Categories[i].RatingID; } if (jsse.Categories[i].EntBehaviors.Length > 0) { Behavs[0] = string.Join(",", jsse.Categories[i].EntBehaviors.Where(x => x.BehviorChecked).Select(x => x.Behavior_ID.ToString()).ToArray()); BehavTys[0] = string.Join(",", jsse.Categories[i].EntBehaviors.Where(x => x.BehviorChecked).Select(x => x.BehaviorType_ID.ToString()).ToArray()); } if (jsse.Categories[i].OrgBehaviors.Length > 0) { Behavs[1] = string.Join(",", jsse.Categories[i].OrgBehaviors.Where(y => y.BehviorChecked).Select(y => y.Behavior_ID.ToString()).ToArray()); BehavTys[1] = string.Join(",", jsse.Categories[i].OrgBehaviors.Where(x => x.BehviorChecked).Select(x => x.BehaviorType_ID.ToString()).ToArray()); } dtRow["Behavior_IDs"] = string.Join(",", Behavs); dtRow["BehaviorType_IDs"] = string.Join(",", BehavTys); dtRow["Comment"] = jsse.Categories[i].Comments; dtCategories.Rows.Add(dtRow); rowId = rowId + 1; } for (int beh = 0; beh < jsse.Categories[i].EntBehaviors.Length; beh++) { var currBeh = jsse.Categories[i].EntBehaviors[beh]; if (currBeh.Rating_ID != null) { dtRow = dtBehaviors.NewRow(); dtRow["Row_ID"] = behRowId; dtRow["Category_ID"] = jsse.Categories[i].Category_ID; if (currBeh.Rating_ID == null) { dtRow["Rating_ID"] = DBNull.Value; } else { dtRow["Rating_ID"] = currBeh.Rating_ID; } dtRow["Behavior_ID"] = currBeh.Behavior_ID; dtRow["BehaviorType_ID"] = currBeh.BehaviorType_ID; dtRow["Comment"] = currBeh.Comments; dtBehaviors.Rows.Add(dtRow); behRowId = behRowId + 1; } } for (int beh = 0; beh < jsse.Categories[i].OrgBehaviors.Length; beh++) { var currBeh = jsse.Categories[i].OrgBehaviors[beh]; if (currBeh.Rating_ID != null) { dtRow = dtBehaviors.NewRow(); dtRow["Row_ID"] = behRowId; dtRow["Category_ID"] = jsse.Categories[i].Category_ID; if (currBeh.Rating_ID == null) { dtRow["Rating_ID"] = DBNull.Value; } else { dtRow["Rating_ID"] = currBeh.Rating_ID; } dtRow["Behavior_ID"] = currBeh.Behavior_ID; dtRow["BehaviorType_ID"] = currBeh.BehaviorType_ID; dtRow["Comment"] = currBeh.Comments; dtBehaviors.Rows.Add(dtRow); behRowId = behRowId + 1; } } } // Jsse Attachments Data var dtAttachments = new DataTable(); dtAttachments.Columns.Add("Row_ID", typeof(Int32)); dtAttachments.Columns.Add("Title", typeof(String)); dtAttachments.Columns.Add("Description", typeof(String)); dtAttachments.Columns.Add("FileName", typeof(String)); dtAttachments.Columns.Add("Image", typeof(byte[])); for (int i = 0; i < jsse.Attachments.Length; i++) { dtRow = dtAttachments.NewRow(); dtRow["Row_ID"] = i + 1; dtRow["Title"] = jsse.Attachments[i].Title; dtRow["Description"] = jsse.Attachments[i].Description; dtRow["FileName"] = jsse.Attachments[i].FileName; dtRow["Image"] = Convert.FromBase64String(jsse.Attachments[i].Base64ImageString); dtAttachments.Rows.Add(dtRow); } List <SqlParameter> sParams = new List <SqlParameter>() { new SqlParameter("@JSSE_ID", jsse.JSSE_ID), new SqlParameter("@JobName", jsse.JobName), new SqlParameter("@JobDescription", jsse.JobDescription), new SqlParameter("@IsAnonymous", jsse.IsAnonymous), new SqlParameter("@IsExternal", false), new SqlParameter("@Status", jsse.JSSEStatus), new SqlParameter("@Region_ID", jsse.Region_ID), new SqlParameter("@JSSEDate", jsse.JSSEDate == null ? DateTime.Now : jsse.JSSEDate), new SqlParameter("@MajorGroup_Id", jsse.MajorGroup_Id), new SqlParameter("@Org_Id", jsse.Org_Id), new SqlParameter("@Dept_Id", jsse.Dept_Id), new SqlParameter("@Sect_Id", jsse.Section_Id), new SqlParameter("@JSSEEnteredBy", jsse.JSSEEnteredBy), new SqlParameter("@Location", jsse.Location), new SqlParameter() { ParameterName = "@Categories", SqlDbType = SqlDbType.Structured, Value = dtCategories }, new SqlParameter() { ParameterName = "@Behaviors", SqlDbType = SqlDbType.Structured, Value = dtBehaviors }, new SqlParameter() { ParameterName = "@Observees", SqlDbType = SqlDbType.Structured, Value = dtObservees }, new SqlParameter() { ParameterName = "@Observers", SqlDbType = SqlDbType.Structured, Value = dtObservers }, new SqlParameter() { ParameterName = "@Supervisor", SqlDbType = SqlDbType.Structured, Value = dtSupervisors }, new SqlParameter() { ParameterName = "@Attachments", SqlDbType = SqlDbType.Structured, Value = dtAttachments } }; jsseMain = DBGeneric.ExecStoredProcedureWithSqlParms(entityBuilder.ProviderConnectionString, "usp_JSSE_InsertUpdateJsse", sParams.ToArray()); } catch (Exception ex) { throw ex; } return(jsseMain); }