public FileStreamResult GetUasCsv()
        {
            string paramFileId = Request["fileId"] as string;

            Debug.WriteLine("* * *  ExportController GetUasCsv fileId: " + paramFileId);
            int fileId = 0;

            try
            {
                fileId = Convert.ToInt32(paramFileId);
            }
            catch (Exception exptn)
            {
                Debug.WriteLine("* * *  ExportController GetUasCsv Exception: " + exptn.Message);
            }
            Debug.WriteLine("* * *  ExportController GetUasCsv fileId: " + fileId.ToString());

            IUasSql uasSql    = new UasSql();
            string  tableName = uasSql.GetUasTableName(fileId);

            if (String.IsNullOrEmpty(tableName))
            {
                string errMsg = "Error: Invalid fileId: " + paramFileId;
                return(ProcessError(errMsg));
            }

            Debug.WriteLine("   Connection: " + uasSql.GetConnectionString());

            string sqlQuery = getUASQuery(tableName);

            return(CreateCsvStream(uasSql.GetConnectionString(), sqlQuery));
        }
        //private static void AddHiddenField(IFormsRepository formsRepo, def_FormResults formResult, string fieldName, string value)
        //{
        //    int itemId = formsRepo.GetItemByIdentifier(SIS_HIDDEN).itemId;

        //    def_ItemResults itemResult = formsRepo.GetItemResultByFormResItem(formResult.formResultId, itemId);

        //    def_ResponseVariables relatedFormResultRV = null;

        //    try
        //    {
        //        relatedFormResultRV = formsRepo.GetResponseVariablesByFormResultIdentifier(formResult.formResultId, fieldName);
        //    }
        //    catch (Exception ex)
        //    {
        //        Console.WriteLine(ex.Message);
        //    }

        //    def_ItemVariables itemVariableRelated = formsRepo.GetItemVariableByIdentifier(fieldName);


        //    if (itemVariableRelated != null)
        //    {

        //        if (relatedFormResultRV != null)
        //        {
        //            relatedFormResultRV.rspValue = value;

        //            formsRepo.ConvertValueToNativeType(itemVariableRelated, relatedFormResultRV);
        //        }
        //        else
        //        {
        //            relatedFormResultRV = new def_ResponseVariables();

        //            relatedFormResultRV.itemResultId = itemResult.itemResultId;

        //            relatedFormResultRV.itemVariableId = itemVariableRelated.itemVariableId;

        //            relatedFormResultRV.rspValue = value;

        //            formsRepo.ConvertValueToNativeType(itemVariableRelated, relatedFormResultRV);

        //            formsRepo.AddResponseVariableNoSave(relatedFormResultRV);

        //        }

        //    }

        //    formsRepo.Save();
        //}



        private static void CopyAssessmentData(IFormsRepository formsRepo, int oldFormResultId, def_FormResults copyFormResult)
        {
            try
            {
                IUasSql uasSql = new UasSql();

                using (DbConnection connection = new SqlConnection(uasSql.GetConnectionString()))
                {
                    connection.Open();

                    using (DbCommand command = connection.CreateCommand())
                    {
                        command.CommandText
                            = "SELECT IR.itemId, RV.itemVariableId, RV.rspValue from def_ItemResults IR JOIN def_FormResults FR on FR.formResultId = IR.formResultId JOIN def_ResponseVariables RV on RV.itemResultId = IR.itemResultId WHERE FR.formResultId = " + oldFormResultId + " ORDER BY itemId";
                        command.CommandType = CommandType.Text;
                        DataTable dt = new DataTable();
                        dt.Load(command.ExecuteReader());

                        if (dt != null)
                        {
                            SaveAssessmentFromDataTable(formsRepo, copyFormResult, dt);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("* * *  CreateFormResultJSON exception: " + ex.Message);
            }
        }
Esempio n. 3
0
 public static void UpdateUserDob(int?userId, string dob)
 {
     // Update the UAS User DOB.
     if (userId != null)
     {
         IUasSql uasSql = new UasSql();
         uasSql.SaveDOB(userId.Value, dob);
     }
 }
        private List <def_LookupDetail> getDetails(int masterId, int ent = 0, int grp = 0)
        {
            IUasSql uasSql = new UasSql();

            string enterpriseName = uasSql.getEnterpriseName(ent);
            string groupName      = uasSql.getGroupName(grp);

            List <def_LookupDetail> lookupDetails = new List <def_LookupDetail>();

            lookupDetails.AddRange(formsRepo.GetLookupDetails(masterId, ent, grp));


            return(lookupDetails);
        }
        public ActionResult Select()
        {
            IUasSql uasSql = new UasSql();

            if (SessionHelper.LoginStatus.EnterpriseID == 0)
            {
                lookupModel.enterprises = uasSql.getEnterprises();
            }
            else
            {
                lookupModel.enterprises = new Dictionary <int, string>();
                lookupModel.enterprises.Add(SessionHelper.LoginStatus.EnterpriseID, uasSql.getEnterpriseName(SessionHelper.LoginStatus.EnterpriseID));
            }

            return(PartialView("_Select", lookupModel));
        }
        /// <summary>
        /// Loads the page to create a new Team to an Enterprise.
        /// </summary>
        /// <param name="lookupDetailId">Identifier for the selected Team.</param>
        /// <param name="enterpriseId">Identifier for the current Enterprise.</param>
        /// <returns>Redirects the user to the Save Detail page.</returns>
        public ActionResult AddDetail(int lookupMasterId, int enterpriseId = 0)
        {
            AdapAdmin model = new AdapAdmin();
            model.ActiveUserName = SessionHelper.LoginStatus.FirstName + " " + SessionHelper.LoginStatus.LastName;

            IUasSql uasSql = new UasSql();

            Dictionary<int, string> groups = uasSql.getGroups(enterpriseId);

            //groups.Add(0, "Enterprise Wide");

            model.groups = (new SelectList(groups.OrderBy(x => x.Key), "key", "value")).ToList();

            model.enterpriseId = enterpriseId;
            model.groupId = 0;
            model.lookupMasterId = lookupMasterId;
            model.statusFlag = true;

            return View("~/Views/COADAP/ListItems/SaveDetail.cshtml", model);
        }
        public ActionResult EditDetail(int lookupDetailId)
        {
            AdapAdmin model = new AdapAdmin();
            model.ActiveUserName = SessionHelper.LoginStatus.FirstName + " " + SessionHelper.LoginStatus.LastName;

            def_LookupDetail detail = formsRepo.GetLookupDetailById(lookupDetailId);


            if (detail != null)
            {
                IUasSql uasSql = new UasSql();

                if (detail.EnterpriseID != null)
                {

                    Dictionary<int, string> groups = uasSql.getGroups(detail.EnterpriseID.Value);
                    groups.Add(0, "Enterprise Wide");
                    model.groups = (new SelectList(groups.OrderBy(x => x.Key), "key", "value")).ToList();
                }
                model.lookupDetailId = lookupDetailId;
                model.lookupMasterId = detail.lookupMasterId;
                model.enterpriseId = detail.EnterpriseID;
                model.groupId = detail.GroupID;
                model.dataValue = detail.dataValue;
                model.displayOrder = detail.displayOrder;
                model.statusFlag = (detail.StatusFlag == "A") ? true : false;

                def_LookupText text = formsRepo.GetLookupTextsByLookupDetail(lookupDetailId).FirstOrDefault();

                if (text != null)
                {
                    model.displayText = text.displayText;
                }
            }

            return View("~/Views/COADAP/ListItems/SaveDetail.cshtml", model);
        }
        /// <summary>
        ///  Web Service to process requests from the ADAP Clinic Admin DataTable
        /// </summary>
        /// <param name="draw">Automatically posted by JQuery DataTables: count of the number of times this table has been drawn.</param>
        /// <param name="start">Automatically posted by JQuery DataTables: the starting index of the current result set.</param>
        /// <param name="length">Automatically posted by JQuery DataTables: the number of rows displayed by the table.</param>
        /// <param name="searchValue">Automatically posted by JQuery DataTables: </param>
        /// <param name="searchRegex">Automatically posted by JQuery DataTables: </param>
        /// <param name="order">Automatically posted by JQuery DataTables: </param>
        /// <returns>String formatted for JQuery DataTables.</returns>
        public string DataTableClinicList(int draw, int start, int length, string searchValue, string searchRegex, string order)
        {
            string result = String.Empty;

            Debug.WriteLine("Adap Controller ClinicList draw:" + draw.ToString());
            Debug.WriteLine("Adap Controller ClinicList start:" + start.ToString());
            Debug.WriteLine("Adap Controller ClinicList searchValue:" + searchValue);
            Debug.WriteLine("Adap Controller ClinicList searchRegex:" + searchRegex);
            Debug.WriteLine("Adap Controller ClinicList order:" + order);

            //  Lists all the Request parameters
            foreach (string s in Request.Params.Keys)
            {
                Debug.WriteLine(s.ToString() + ":" + Request.Params[s]);
            }

            try
            {
                // Initialize the DataTable response (later transformed to JSON)
                DataTableResult dtr = new DataTableResult()
                {
                    draw            = draw,
                    recordsTotal    = 1,
                    recordsFiltered = 1,
                    data            = new List <string[]>(),
                    error           = String.Empty
                };

                // How to find Enterprise ID and Form ID?  Values currently hardcoded to populate Data Table.
                //IQueryable<def_LookupMaster> query = formsRepo.GetLookupMaster(74);

                var sSort  = Request.Params["columns[1][search][value]"];
                var sTeam  = Request.Params["columns[2][search][value]"];
                int teamId = -1;
                if (!String.IsNullOrEmpty(sTeam) && !sTeam.Equals("-1"))
                {
                    try
                    {
                        teamId = Convert.ToInt32(sTeam);
                    }
                    catch (Exception excptn)
                    {
                        Debug.WriteLine("Adap Controller ClinicList Integer Conversion:" + excptn.Message);
                    }
                }
                // rename to avoid language/library conflicts
                int iniIndex    = start;
                int noDsplyRecs = length;

                int entId = SessionHelper.LoginStatus.EnterpriseID;
                Debug.WriteLine("Adap Controller ClinicList SelectedEnterprise:" + entId.ToString());

                IEnumerable <def_LookupDetail> detail = formsRepo.GetLookupMastersByLookupCode("ADAP_CLINIC").def_LookupDetail
                                                        .Where(f => (teamId > -1) ? f.GroupID == teamId : true)
                                                        .Where(f => (entId > 0) ? f.EnterpriseID == entId : true);
                if (String.IsNullOrEmpty(sSort) || sSort.Equals("false"))
                {
                    detail = detail.OrderBy(f => f.displayOrder);
                }
                else
                {
                    detail = detail.OrderBy(f => (f.def_LookupText.FirstOrDefault() != null) ? f.def_LookupText.FirstOrDefault().displayText : "zzzzz");
                }

                IUasSql uasSql = new UasSql();

                dtr.recordsTotal = dtr.recordsFiltered = detail.Count();

                foreach (var d in detail.Skip(iniIndex).Take(noDsplyRecs))
                {
                    string[] data = new string[] {
                        "<button type=\"button\" class=\"btn btn-primary btn-xs text-center\" onclick=\"window.location='/Adap/EditDetail?lookupDetailId=" + d.lookupDetailId.ToString() + "'\">Edit</button>",
                        (formsRepo.GetLookupTextsByLookupDetail(d.lookupDetailId).FirstOrDefault() != null) ? formsRepo.GetLookupTextsByLookupDetail(d.lookupDetailId).FirstOrDefault().displayText : String.Empty,
                        d.dataValue,
                        (d.GroupID == null) ? "" : uasSql.getGroupName(d.GroupID.Value),
                        d.displayOrder.ToString(),
                        d.StatusFlag
                    };
                    dtr.data.Add(data);
                }

                Debug.WriteLine("Adap Controller ClinicList data populated.");

                // Output the JSON in DataTable format
                fastJSON.JSONParameters param = new fastJSON.JSONParameters();
                param.EnableAnonymousTypes = true;
                result = fastJSON.JSON.ToJSON(dtr, param);
                Debug.WriteLine("DataTable Clinic result:" + result);
            }
            catch (Exception excptn)
            {
                Debug.WriteLine("Adap Controller ClinicList exception:" + excptn.Message);
                result = excptn.Message + " - " + excptn.Message;
            }

            return(result);
        }
        public string DownloadUasTables(CookieContainer cc)
        {
            // fileIds and filters
            // 0 - Config - All recs
            // 1 - Enterprise - a single record - the Enterprise of the User (from Session)
            // 2 and 3 - GroupTypes / Groups for the Enterprise
            // 4 - User - just the user logged in (from Session)

            IUasSql uas = new UasSql();
            string  msg = String.Empty;

            for (int i = 0; i < uas.GetNumberTables(); i++)
            {
                try
                {
                    HttpWebRequest httpRequest = null;

                    httpRequest = (HttpWebRequest)WebRequest.Create(sisOnlineURL + "Export/GetUasCsv?fileId=" + i.ToString());
                    httpRequest.CookieContainer = cc;
                    httpRequest.Method          = WebRequestMethods.Http.Get;

                    // Get back the HTTP response for web server
                    using (HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse())
                    {
                        using (Stream httpResponseStream = httpResponse.GetResponseStream())
                        {
                            DataTable csvData = new DataTable();

                            csvData.TableName = uas.GetUasTableName(i);
                            Debug.WriteLine("DataSync DownloadUasTables CvsReader on table: " + csvData.TableName);
                            // Debug.WriteLine("                          httpResponseStream.Length: " + httpResponseStream.Length.ToString());

                            using (var reader = new CsvReader(httpResponseStream))
                            {
                                // the CSV file has a header record, so we read that first
                                reader.ReadHeaderRecord();
                                csvData.Fill(reader);
                            }

                            Debug.WriteLine("        cvsData Table {0} contains {1} rows.", csvData.TableName, csvData.Rows.Count);
                            msg     = csvData.Rows.Count.ToString();
                            csvData = RemoveNullString(csvData);

                            Debug.WriteLine("       Modify csvData: " + csvData.TableName);
                            if (csvData == null)
                            {
                                Debug.WriteLine("       uh-oh csvData is Null!!!");
                            }

                            using (DbConnection connection = UasAdo.GetUasAdoConnection())
                            {
                                if (csvData.TableName == "uas_Group")
                                {
                                    SetParentGroupToSelf(ref csvData);
                                }

                                SetCreatedByAndModifiedByToOne(ref csvData);

                                MarkDuplicates(ref csvData);

                                FillDatabaseTable(csvData, connection);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("* * *  DataSync exception: " + ex.Message);
                    if (ex.InnerException != null && ex.InnerException.Message != null)
                    {
                        Debug.WriteLine("Inner exception: " + ex.InnerException.Message);
                    }
                    msg = ex.Message;
                }
            }
            return(msg);
        }