public override void DeleteItem()
    {
        if (form.gameObject.activeSelf)
        {
            form.gameObject.SetActive(false);
            addButton.gameObject.SetActive(true);
            removeButton.gameObject.SetActive(false);
        }
        else
        {
            // Delete any seleted item from list.
            List <SurveyItem> toRemove = new List <SurveyItem>();
            for (int i = 0; i < contentRect.childCount; i++)
            {
                SurveyItem t = contentRect.GetChild(i).GetComponent <SurveyItem> ();
                if (t.toggle.isOn)
                {
                    toRemove.Add(t);
                }
            }

            foreach (SurveyItem tt in toRemove)
            {
                AppController.instance.allSurveys.Remove(tt.item);
                DestroyImmediate(tt.gameObject);
            }
            Show(AppController.instance.allSurveys);
        }
    }
        public async Task <ActionResult <SurveyItem> > PostSurveyItem(SurveyItem surveyItem)
        {
            _context.SurveyItems.Add(surveyItem);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetSurveyItem", new { id = surveyItem.Id }, surveyItem));
        }
        /// <summary>
        ///
        /// </summary>
        private void PopulateForm()
        {
            if (!string.IsNullOrEmpty(SurveyIdField.Value))
            {
                int    surveyId = int.Parse(SurveyIdField.Value);
                Survey biz      = new Survey();
                biz.Get(surveyId);
                base.PopulateForm(biz);

                // populate survey items
                DataView surveyItems = SurveyItem.GetByParentAsDataView <SurveyItem>(surveyId);
                SurveyItemsGrid.DataSource = surveyItems;
                SurveyItemsGrid.DataBind();

                // set related record if exists
                int       patientItemId  = int.Parse(base.DecrypyValue(PatientItemId.Value));
                DataTable relatedRecords = RelatedRecordsDa.GetRecord("ProtocolMgr_PatientItems", patientItemId, "Surveys", surveyId);
                if (relatedRecords.Rows.Count > 0)
                {
                    RelatedRecordId.Value = relatedRecords.Rows[0][RelatedRecord.RelatedRecordId].ToString();
                }
            }
            else
            {
                // show empty grid by builing empty data table
                DataTable dt = new DataTable();
                dt.Columns.AddRange((from col in new SurveyItem().FieldNames
                                     select new DataColumn(col)).ToArray());
                SurveyItemsGrid.DataSource = dt.DefaultView;
                SurveyItemsGrid.DataBind();
            }
            SurveyPluginControl.SetSurveyIdField(SurveyIdField.Value);
        }
        public Task <SurveyItem> UpdateSurveyItemAsync(SurveyItem objExistingSurveyItem)
        {
            try
            {
                var ExistingSurveyItem = _context.SurveyItem
                                         .Where(x => x.Id == objExistingSurveyItem.Id)
                                         .Include(x => x.SurveyItemOption)
                                         .FirstOrDefault();

                ExistingSurveyItem.ItemLabel = objExistingSurveyItem.ItemLabel;
                ExistingSurveyItem.ItemType  = objExistingSurveyItem.ItemType;
                ExistingSurveyItem.ItemValue = objExistingSurveyItem.ItemValue;
                ExistingSurveyItem.Required  = objExistingSurveyItem.Required;

                ExistingSurveyItem.SurveyItemOption = objExistingSurveyItem.SurveyItemOption;

                _context.SaveChanges();

                return(Task.FromResult(ExistingSurveyItem));
            }
            catch (Exception ex)
            {
                DetachAllEntities();
                throw ex;
            }
        }
Exemple #5
0
        public async Task <ActionResult <apple.Survey> > PostSurveyItem(SurveyItem surveyItem)
        {
            if (SurveyItemExists(surveyItem.Id))
            {
                await PutSurveyItem(surveyItem.Id, surveyItem);

                return(Ok(surveyItem));
            }
            else
            {
                _context.SurveyItems.Add(surveyItem);
                try
                {
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateException)
                {
                    if (SurveyItemExists(surveyItem.Id))
                    {
                        // This shouldn't really be hit, given the previous check.
                        return(Conflict());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(CreatedAtAction("GetSurveyItem", new { id = surveyItem.Id }, surveyItem));
            }
        }
Exemple #6
0
        private Models.SurveyItem ConvertToSurveyItem(OqtaneSurveyItem objOqtaneSurveyItem)
        {
            if (objOqtaneSurveyItem == null)
            {
                return(new Models.SurveyItem());
            }

            // Create new Object
            Models.SurveyItem objSurveyItem = new SurveyItem();

            objSurveyItem.Id             = objOqtaneSurveyItem.Id;
            objSurveyItem.ItemLabel      = objOqtaneSurveyItem.ItemLabel;
            objSurveyItem.ItemType       = objOqtaneSurveyItem.ItemType;
            objSurveyItem.ItemValue      = objOqtaneSurveyItem.ItemValue;
            objSurveyItem.Position       = objOqtaneSurveyItem.Position;
            objSurveyItem.Required       = objOqtaneSurveyItem.Required;
            objSurveyItem.SurveyChoiceId = objOqtaneSurveyItem.SurveyChoiceId;

            // Create new Collection
            objSurveyItem.SurveyItemOption = new List <SurveyItemOption>();

            foreach (OqtaneSurveyItemOption objOqtaneSurveyItemOption in objOqtaneSurveyItem.OqtaneSurveyItemOption)
            {
                // Create new Object
                Models.SurveyItemOption objAddSurveyItemOption = new SurveyItemOption();

                objAddSurveyItemOption.Id          = objOqtaneSurveyItemOption.Id;
                objAddSurveyItemOption.OptionLabel = objOqtaneSurveyItemOption.OptionLabel;

                // Add to Collection
                objSurveyItem.SurveyItemOption.Add(objAddSurveyItemOption);
            }

            return(objSurveyItem);
        }
Exemple #7
0
        public async Task <IActionResult> PutSurveyItem(int id, SurveyItem surveyItem)
        {
            if (id != surveyItem.Id)
            {
                return(BadRequest());
            }
            _context.Entry(surveyItem).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SurveyItemExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetSurveyItem", new { id = surveyItem.Id }, surveyItem));
        }
    public override void AddItem(string date, string title, string comments)
    {
        Survey survey = new Survey()
        {
            date = date, title = title, comments = comments, manager = new Manager(), store = new Store()
        };

        GameObject go = (GameObject)Instantiate(prefab);

        go.transform.SetParent(contentRect.transform);
        go.name = "Survey " + contentRect.childCount.ToString();
        go.transform.localScale = new Vector3(1f, 1f, 1f);
        go.SetActive(true);

        if (survey.title.IsNullOrEmpty())
        {
            survey.title = go.name;
        }

        SurveyItem item = go.GetComponent <SurveyItem> ();

        item.Setup(survey);

        if (AppController.instance.allSurveys != null)
        {
            AppController.instance.allSurveys.Add(survey);
        }

        updateContentRect();

        form.gameObject.SetActive(false);
        addButton.gameObject.SetActive(true);
        removeButton.gameObject.SetActive(false);
    }
Exemple #9
0
        public SurveyItem SearchItemsByDescription(string itemDescription)
        {
            SurveyItem surveyItem = new SurveyItem();

            surveyItem = databaseContext.GetSurveyItemByDescription(itemDescription);
            return(surveyItem);
        }
        private Models.Survey ConvertToSurvey(OqtaneSurvey objOqtaneSurvey)
        {
            if (objOqtaneSurvey == null)
            {
                return(new Models.Survey());
            }

            // Create new Object
            Models.Survey objAddSurvey = new Models.Survey();

            objAddSurvey.SurveyId   = objOqtaneSurvey.SurveyId;
            objAddSurvey.ModuleId   = objOqtaneSurvey.ModuleId;
            objAddSurvey.SurveyName = objOqtaneSurvey.SurveyName;
            objAddSurvey.CreatedBy  = objOqtaneSurvey.CreatedBy;
            objAddSurvey.CreatedOn  = objOqtaneSurvey.CreatedOn;
            objAddSurvey.ModifiedBy = objOqtaneSurvey.ModifiedBy;
            objAddSurvey.ModifiedOn = objOqtaneSurvey.ModifiedOn;
            if (objOqtaneSurvey.UserId != null)
            {
                objAddSurvey.UserId = objOqtaneSurvey.UserId.Value;
            }

            // Create new Collection
            objAddSurvey.SurveyItem = new List <SurveyItem>();

            foreach (OqtaneSurveyItem objOqtaneSurveyItem in objOqtaneSurvey.OqtaneSurveyItem)
            {
                // Create new Object
                Models.SurveyItem objAddSurveyItem = new SurveyItem();

                objAddSurveyItem.Id             = objOqtaneSurveyItem.Id;
                objAddSurveyItem.ItemLabel      = objOqtaneSurveyItem.ItemLabel;
                objAddSurveyItem.ItemType       = objOqtaneSurveyItem.ItemType;
                objAddSurveyItem.ItemValue      = objOqtaneSurveyItem.ItemValue;
                objAddSurveyItem.Position       = objOqtaneSurveyItem.Position;
                objAddSurveyItem.Required       = objOqtaneSurveyItem.Required;
                objAddSurveyItem.SurveyChoiceId = objOqtaneSurveyItem.SurveyChoiceId;

                // Create new Collection
                objAddSurveyItem.SurveyItemOption = new List <SurveyItemOption>();

                foreach (OqtaneSurveyItemOption objOqtaneSurveyItemOption in objOqtaneSurveyItem.OqtaneSurveyItemOption)
                {
                    // Create new Object
                    Models.SurveyItemOption objAddSurveyItemOption = new SurveyItemOption();

                    objAddSurveyItemOption.Id          = objOqtaneSurveyItemOption.Id;
                    objAddSurveyItemOption.OptionLabel = objOqtaneSurveyItemOption.OptionLabel;

                    // Add to Collection
                    objAddSurveyItem.SurveyItemOption.Add(objAddSurveyItemOption);
                }

                // Add to Collection
                objAddSurvey.SurveyItem.Add(objAddSurveyItem);
            }

            return(objAddSurvey);
        }
Exemple #11
0
        public SurveyItem GetSurveyItemByDescription(string description)
        {
            SurveyItem        item       = new SurveyItem();
            DynamicParameters dataParams = new DynamicParameters();

            dataParams.Add("@description", description);
            item = DBContext.ExecuteReturnScalar <SurveyItem>("sp_GetItemByDescription", dataParams);
            return(item);
        }
Exemple #12
0
        public async Task <SurveyItem> UpdateSurveyItemAsync(SurveyItem objExistingSurveyItem)
        {
            SurveyItem dtoSurveyItem = GetDTOItemCopy(objExistingSurveyItem);

            HttpResponseMessage response = await _client.PutAsJsonAsync(API_PREFIX + "/items/" + dtoSurveyItem.Id, dtoSurveyItem);

            response.EnsureSuccessStatusCode();
            return(await response.Content.ReadFromJsonAsync <SurveyItem>());
        }
Exemple #13
0
        public async Task <ActionResult> DeleteSurveyItem(int key)
        {
            try
            {
                int surveyId = int.Parse(Request.Headers.GetValues("SurveyId")[0]);
                var survey   = await _prepareService.GetSurveys(surveyId);

                var surveyDelete = survey.FirstOrDefault();
                if (surveyDelete != null)
                {
                    surveyDelete.StartTracking();
                    if (surveyDelete.SurveyItems.Any(i => i.Number == key))
                    {
                        surveyDelete.SurveyItems.FirstOrDefault(i => i.Number == key).MarkAsDeleted();
                    }
                    Survey[] deleteSurveyItem = new[] { surveyDelete };
                    await _prepareService.SaveSurveys(deleteSurveyItem);

                    //Reorder
                    List <SurveyItem> surveyItemsTemp = new List <SurveyItem>();
                    var countReorder = 1;
                    foreach (var item in surveyDelete.SurveyItems.ToList())
                    {
                        var temp = new SurveyItem {
                            SurveyId = item.SurveyId,
                            Number   = countReorder,
                            Query    = item.Query
                        };
                        surveyItemsTemp.Add(temp);
                        countReorder++;
                    }

                    //Delete all survey items
                    surveyDelete.StartTracking();
                    foreach (var tempItem in surveyDelete.SurveyItems.ToList())
                    {
                        surveyDelete.SurveyItems.ToList().FirstOrDefault(i => i.Number == tempItem.Number).MarkAsDeleted();
                    }

                    //Reenter from temporary
                    surveyDelete.StartTracking();
                    foreach (var item in surveyItemsTemp)
                    {
                        surveyDelete.SurveyItems.Add(item);
                    }
                    Survey[] editSurvey = new[] { surveyDelete };
                    await _prepareService.SaveSurveys(editSurvey);

                    return(Json(surveyDelete.SurveyItems.Any(i => i.Number == key), JsonRequestBehavior.AllowGet));
                }
                return(Json(survey, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, ex.Message));
            }
        }
Exemple #14
0
        public async Task <SurveyItem> CreateSurveyItemAsync(SurveyItem newSurveyItem)
        {
            newSurveyItem.SurveyId = newSurveyItem.Survey.Id;
            newSurveyItem.Position = newSurveyItem.Survey.SurveyItems.Count;
            SurveyItem dtoSurveyItem = GetDTOItemCopy(newSurveyItem);


            HttpResponseMessage response = await _client.PostAsJsonAsync <SurveyItem>(API_PREFIX + "/items", dtoSurveyItem);

            response.EnsureSuccessStatusCode();
            return(await response.Content.ReadFromJsonAsync <SurveyItem>());
        }
Exemple #15
0
        private SurveyItem GetDTOItemCopy(SurveyItem itemToCopy)
        {
            SurveyItem dtoSurveyItem = new SurveyItem();

            dtoSurveyItem.Id                = itemToCopy.Id;
            dtoSurveyItem.SurveyId          = itemToCopy.SurveyId;
            dtoSurveyItem.Position          = itemToCopy.Position;
            dtoSurveyItem.ItemLabel         = itemToCopy.ItemLabel;
            dtoSurveyItem.ItemType          = itemToCopy.ItemType;
            dtoSurveyItem.ItemValue         = itemToCopy.ItemValue;
            dtoSurveyItem.Required          = itemToCopy.Required;
            dtoSurveyItem.SurveyItemOptions = itemToCopy.SurveyItemOptions;
            return(dtoSurveyItem);
        }
Exemple #16
0
        public async Task <bool> DeleteSurveyItemAsync(SurveyItem objExistingSurveyItem)
        {
            try
            {
                HttpResponseMessage response = await _client.DeleteAsync(API_PREFIX + "/items/" + objExistingSurveyItem.Id);

                response.EnsureSuccessStatusCode();
            }
            catch (Exception e)
            {
                return(false);
            }

            return(true);
        }
Exemple #17
0
        private void OnSurveyGather(SurveyCharge survey, Item item)
        {
            Hash <int, SurveyItem> surveyItems = _activeSurveyCharges[survey.GetInstanceID()].Items;

            int itemId = item.info.itemid;

            if (surveyItems[itemId] != null)
            {
                surveyItems[itemId].Amount += item.amount;
            }
            else
            {
                surveyItems[itemId] = new SurveyItem(item.info.displayName.translated, item.amount);
            }
        }
        public Task <SurveyItem> CreateSurveyItemAsync(SurveyItem NewSurveyItem)
        {
            try
            {
                SurveyItem objSurveyItem = new SurveyItem();

                objSurveyItem.SurveyAnswer = new List <SurveyAnswer>();

                objSurveyItem.SurveyNavigation =
                    _context.Survey
                    .Where(x => x.Id == NewSurveyItem.SurveyNavigation.Id)
                    .FirstOrDefault();

                objSurveyItem.Id        = 0;
                objSurveyItem.ItemLabel = NewSurveyItem.ItemLabel;
                objSurveyItem.ItemType  = NewSurveyItem.ItemType;
                objSurveyItem.ItemValue = NewSurveyItem.ItemValue;
                objSurveyItem.Required  = NewSurveyItem.Required;
                objSurveyItem.Position  = 0;

                if (NewSurveyItem.SurveyItemOption != null)
                {
                    objSurveyItem.SurveyItemOption = NewSurveyItem.SurveyItemOption;
                }

                _context.SurveyItem.Add(objSurveyItem);
                _context.SaveChanges();

                // Set position
                int CoutOfSurveyItems =
                    _context.SurveyItem
                    .Where(x => x.SurveyNavigation.Id == NewSurveyItem.SurveyNavigation.Id)
                    .Count();

                objSurveyItem.Position = CoutOfSurveyItems;
                _context.SaveChanges();

                return(Task.FromResult(objSurveyItem));
            }
            catch (Exception ex)
            {
                DetachAllEntities();
                throw ex;
            }
        }
        public Task <bool> DeleteSurveyItemAsync(SurveyItem objExistingSurveyItem)
        {
            var ExistingSurveyItem =
                _context.SurveyItem
                .Where(x => x.Id == objExistingSurveyItem.Id)
                .FirstOrDefault();

            if (ExistingSurveyItem != null)
            {
                _context.SurveyItem.Remove(ExistingSurveyItem);
                _context.SaveChanges();
            }
            else
            {
                return(Task.FromResult(false));
            }

            return(Task.FromResult(true));
        }
Exemple #20
0
        private void btnSaveItem_Click(object sender, EventArgs e)
        {
            SurveyItem surveyItem = new SurveyItem();


            surveyItem.ItemDescription = txtCaptureItem.Text;


            if (double.TryParse(txtCaptureMaterialPrice.Text, out double materialPrice))
            {
                surveyItem.MaterialPrice = materialPrice;
            }

            if (double.TryParse(txtCaptureLabourRate.Text, out double labourRate))
            {
                surveyItem.LabourPrice = labourRate;
            }


            proccessing.AddItemDatabase(surveyItem);
        }
Exemple #21
0
        public async static Task Run([QueueTrigger("surveydata"), StorageAccount("AzureWebJobsStorage")] SurveyItem mySurveyItem,
                                     [Table("surveydata"), StorageAccount("AzureWebJobsStorage")] CloudTable table, ILogger log)
        {
            log.LogInformation($"C# Queue trigger function processed: {mySurveyItem}");

            // create a new row in a table for the queue item
            // create table entry
            var item = new SurveyData()
            {
                PartitionKey             = mySurveyItem.zip,
                RowKey                   = mySurveyItem.id,
                id                       = mySurveyItem.id,
                filling_out_for          = mySurveyItem.filling_out_for,
                zip                      = mySurveyItem.zip,
                puma                     = mySurveyItem.puma,
                age                      = mySurveyItem.age,
                sex                      = mySurveyItem.sex,
                symptoms_binary          = mySurveyItem.symptoms_binary,
                symptoms_specific        = mySurveyItem.symptoms_specific,
                symptoms_all             = mySurveyItem.symptoms_all,
                housing                  = mySurveyItem.housing,
                shared_space             = mySurveyItem.shared_space,
                covid_contact            = mySurveyItem.covid_contact,
                work_from_home           = mySurveyItem.work_from_home,
                industry                 = mySurveyItem.industry,
                industry_other           = mySurveyItem.industry_other,
                behavior_change_sufaces  = mySurveyItem.behavior_change_sufaces,
                behavior_change_cough    = mySurveyItem.behavior_change_cough,
                behavior_change_distance = mySurveyItem.behavior_change_distance,
                behavior_change_hands    = mySurveyItem.behavior_change_hands,
                behavior_change_mask     = mySurveyItem.behavior_change_mask,
                screener                 = mySurveyItem.screener
            };

            var operation = TableOperation.Insert(item);
            await table.ExecuteAsync(operation);
        }
Exemple #22
0
        public void AddSurveyItemsToDatabase(string jobCardNumber, List <SurveyItem> items, bool ProvidedMaterial)
        {
            foreach (SurveyItem item in items)
            {
                DynamicParameters dataParams = new DynamicParameters();

                SurveyItem newsurveyItem = GetSurveyItemByDescription(item.ItemDescription);

                if (ProvidedMaterial)
                {
                    newsurveyItem.MaterialPrice = 0;
                }

                double charge = newsurveyItem.LabourPrice + newsurveyItem.MaterialPrice;

                dataParams.Add("@ItemDescription", item.ItemDescription);
                dataParams.Add("@JobCardNumber", jobCardNumber);
                dataParams.Add("@Quantity", item.Quantity);
                dataParams.Add("@LabourPrice", newsurveyItem.LabourPrice);
                dataParams.Add("@MaterialPrice", newsurveyItem.MaterialPrice);
                dataParams.Add("@Total", item.Quantity * charge);
                DBContext.ExecuteWithoutReturn("sp_AddSurveyItem", dataParams);
            }
        }
Exemple #23
0
        public async Task <ActionResult> InsertSurveyItem(CRUDModel <SurveyItemViewModel> surveyItem)
        {
            try
            {
                int surveyId = int.Parse(Request.Headers.GetValues("SurveyId")[0]);
                if (!ModelState.IsValid)
                {
                    var message = string.Join(" | ", ModelState.Values
                                              .SelectMany(v => v.Errors)
                                              .Select(e => e.ErrorMessage));
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, message));
                }

                var surveys = await _prepareService.GetSurveys(surveyId);

                var survey        = surveys.FirstOrDefault();
                var newSurveyItem = new SurveyItem
                {
                    SurveyId = surveyId,
                    Number   = surveyItem.Value.Number,
                    Query    = surveyItem.Value.Query
                };
                survey.SurveyItems.Add(newSurveyItem);
                Survey[] addSurvey = new[] { survey };
                await _prepareService.SaveSurveys(addSurvey);

                return(Json(surveyItem.Value, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                var message = string.Join(" | ", ModelState.Values
                                          .SelectMany(v => v.Errors)
                                          .Select(e => e.ErrorMessage));
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, ex.Message));
            }
        }
Exemple #24
0
    public override void ItemSelected()
    {
        int howManySelected = 0;

        for (int i = 0; i < contentRect.childCount; i++)
        {
            SurveyItem t = contentRect.GetChild(i).GetComponent <SurveyItem> ();
            if (t.toggle.isOn)
            {
                howManySelected++;
            }
        }

        if (howManySelected > 0)
        {
            addButton.gameObject.SetActive(false);
            removeButton.gameObject.SetActive(true);
        }
        else
        {
            addButton.gameObject.SetActive(true);
            removeButton.gameObject.SetActive(false);
        }
    }
Exemple #25
0
        private void Btn_AddSurveyItem_Click(object sender, EventArgs e)
        {
            SurveyItem surveyItem  = new SurveyItem();
            string     description = String.Empty;

            description = cbo_SurveyItems.SelectedItem.ToString();
            surveyItem  = proccessing.SearchItemsByDescription(description);

            if (int.TryParse(txt_SurveyItemQuantity.Text, out int surveyItemQuantity) == true)
            {
                surveyItem.Quantity = surveyItemQuantity;
            }

            if (surveyItem.Quantity > 0)
            {
                CurrentSurveyItems.Add(surveyItem);
                dgv_SurveyItems.DataSource = new List <SurveyItem>();
                dgv_SurveyItems.DataSource = CurrentSurveyItems;
            }
            else
            {
                MessageBox.Show("Please Enter a valid Quantity");
            }
        }
Exemple #26
0
        public List <SurveyItem> SurveyResultsData(int SelectedSurveyId, LoadDataArgs args)
        {
            // Get Survey Items
            // Don't include "Text Area"

            var query = _db.OqtaneSurveyItem
                        .Where(x => x.Survey == SelectedSurveyId)
                        .Where(x => x.ItemType != "Text Area")
                        .Include(x => x.OqtaneSurveyItemOption)
                        .OrderBy(x => x.Position).AsQueryable();

            if (!string.IsNullOrEmpty(args.Filter))
            {
                query = query.Where(args.Filter);
            }

            if (!string.IsNullOrEmpty(args.OrderBy))
            {
                query = query.OrderBy(args.OrderBy);
            }

            var Results = query.Skip(args.Skip.Value).Take(args.Top.Value).ToList();

            List <SurveyItem> SurveyResultsCollection = new List <SurveyItem>();

            foreach (var SurveyItem in Results)
            {
                SurveyItem NewDTOSurveyItem = new SurveyItem();

                NewDTOSurveyItem.Id        = SurveyItem.Id;
                NewDTOSurveyItem.ItemLabel = SurveyItem.ItemLabel;
                NewDTOSurveyItem.ItemType  = SurveyItem.ItemType;
                NewDTOSurveyItem.Position  = SurveyItem.Position;
                NewDTOSurveyItem.Required  = SurveyItem.Required;

                List <AnswerResponse> ColAnswerResponse = new List <AnswerResponse>();

                if ((SurveyItem.ItemType == "Date") || (SurveyItem.ItemType == "Date Time"))
                {
                    var TempColAnswerResponse = _db.OqtaneSurveyAnswer
                                                .Where(x => x.SurveyItemId == SurveyItem.Id)
                                                .GroupBy(n => n.AnswerValueDateTime)
                                                .Select(n => new AnswerResponse
                    {
                        OptionLabel = n.Key.Value.ToString(),
                        Responses   = n.Count()
                    }
                                                        ).OrderBy(n => n.OptionLabel).ToList();

                    foreach (var item in TempColAnswerResponse)
                    {
                        string ShortDate = item.OptionLabel;

                        try
                        {
                            DateTime dtTempDate = Convert.ToDateTime(item.OptionLabel);
                            ShortDate = dtTempDate.ToShortDateString();
                        }
                        catch
                        {
                            // use original string
                        }

                        ColAnswerResponse.Add(
                            new AnswerResponse
                        {
                            OptionLabel = ShortDate,
                            Responses   = item.Responses
                        }
                            );
                    }
                }
                else
                {
                    ColAnswerResponse = _db.OqtaneSurveyAnswer
                                        .Where(x => x.SurveyItemId == SurveyItem.Id)
                                        .GroupBy(n => n.AnswerValue)
                                        .Select(n => new AnswerResponse
                    {
                        OptionLabel = n.Key,
                        Responses   = n.Count()
                    }
                                                ).OrderBy(n => n.OptionLabel).ToList();
                }

                if (ColAnswerResponse.Count > 10)
                {
                    // Only take top 10
                    NewDTOSurveyItem.AnswerResponses = ColAnswerResponse
                                                       .OrderByDescending(x => x.Responses)
                                                       .Take(10).ToList();

                    // Put remaining items in "Other"
                    var ColOtherItems = ColAnswerResponse.OrderByDescending(x => x.Responses).Skip(10).ToList();
                    var SumOfOther    = ColOtherItems.Sum(x => x.Responses);
                    NewDTOSurveyItem.AnswerResponses.Add(new AnswerResponse()
                    {
                        OptionLabel = "Other", Responses = SumOfOther
                    });
                }
                else
                {
                    NewDTOSurveyItem.AnswerResponses = ColAnswerResponse;
                }

                SurveyResultsCollection.Add(NewDTOSurveyItem);
            }

            int SurveyResultsCount = _db.OqtaneSurveyItem
                                     .Where(x => x.Survey == SelectedSurveyId)
                                     .Where(x => x.ItemType != "Text Area")
                                     .Count();

            return(SurveyResultsCollection);
        }
Exemple #27
0
        /// <summary>
        /// 作者:Kylin
        /// 时间:2014.1.23
        /// 描述:添加问卷详情 
        /// </summary>
        /// <param name="branchId"></param>
        /// <param name="subject"></param>
        /// <param name="platformtype"></param>
        /// <param name="beginTime"></param>
        /// <param name="endTime"></param>
        /// <param name="surveyItems"></param>
        /// <param name="remark"></param>
        /// <returns></returns>
        public static bool CreateSurvey(string branchId, string subject, int? platformtype, bool isPopup, DateTime beginTime, DateTime endTime, List<SurveyItemsModel> surveyItems, string remark, int loginUserId)
        {
            using (var tran = new TransactionScope())
            {
                using (var edb = new EmeEntities())
                {
                    try
                    {
                        var survey = new Survey()
                        {
                            PlatformType = platformtype,
                            IsPopup = isPopup,
                            Subject = subject,
                            IsRights = true,
                            BeginTime = beginTime,
                            EndTime = endTime,
                            Remark = remark,
                            Status = ConvertEnum.StatusTypeForActive,
                            UpdateTime = DateTime.Now
                        };

                        edb.Entry(survey).State = EntityState.Added;
                        edb.SaveChanges();

                        foreach (var addItem in surveyItems)
                        {
                            var surveyItem = new SurveyItem()
                            {
                                Title = addItem.title,
                                Status = ConvertEnum.StatusTypeForActive,
                                SurveyId = survey.Id,
                                IsMultiple = addItem.IsMulti,
                                CreateTime = DateTime.Now
                            };

                            edb.Entry(surveyItem).State = EntityState.Added;
                            edb.SaveChanges();

                            foreach (var addOption in addItem.Options)
                            {
                                var surveyItemOption = new SurveyItemOption()
                                {
                                    Title = addOption.title,
                                    Status = ConvertEnum.StatusTypeForActive,
                                    SurveyItemId = surveyItem.Id,
                                    CreateTime = DateTime.Now
                                };

                                edb.Entry(surveyItemOption).State = EntityState.Added;
                            }
                        }

                        if (branchId.Trim() != "")
                        {
                            var branchIdList = branchId.Split(',');
                            foreach (var bid in branchIdList)
                            {
                                var surveyRights = new SurveyRights()
                                {
                                    SurveyId = survey.Id,
                                    BranchId = Convert.ToInt32(bid),
                                    Status = ConvertEnum.StatusTypeForActive,
                                    CreateTime = DateTime.Now
                                };
                                edb.Entry(surveyRights).State = EntityState.Added;
                            }
                        }
                        var result = edb.SaveChanges() > 0;
                        tran.Complete();

                        return result;
                    }
                    catch (Exception ex)
                    {
                        tran.Dispose();
                        Common.MSMQ.QueueManager.AddExceptionLog(new ExceptionLogs()
                        {
                            ExceptionType = CommonHelper.To<int>(ExceptionType.Message),
                            Message = string.Format("SurveyBLL-CreateSurvey:{0};{1};{2}", ex.Message, ex.InnerException, ex.HelpLink),
                            IsTreat = false,
                            CreateBy = loginUserId,
                            CreateTime = DateTime.Now
                        });
                        return false;
                    }
                }
            }
        }
Exemple #28
0
        /// <summary>
        /// 作者:Kylin
        /// 时间:2014.1.14
        /// 描述:添加问卷详情
        /// -------------------------------------
        /// 作者:Vincen
        /// 时间:2014.04.01
        /// 描述:更新调查问卷
        /// </summary>
        /// <param name="surveyId"></param>
        /// <param name="subject"></param>
        /// <param name="platformtype"></param>
        /// <param name="beginTime"></param>
        /// <param name="endTime"></param>
        /// <param name="surveyItems"></param>
        /// <param name="remark"></param>
        public static bool UpdateSurvey(int surveyId, string subject, int? platformtype, DateTime beginTime, DateTime endTime, List<SurveyItemsModel> surveyItems, string remark, int loginUserId)
        {
            using (var edb = new EmeEntities())
            {
                using (var tran = new TransactionScope())
                {
                    try
                    {
                        // 更新 Survey
                        var model = edb.Survey.SingleOrDefault(p => p.Id == surveyId);
                        if (model != null)
                        {
                            model.PlatformType = platformtype;
                            model.BeginTime = beginTime;
                            model.EndTime = endTime;
                            model.Subject = subject;
                            model.Remark = remark;
                            model.UpdateTime = DateTime.Now;

                            edb.Entry(model).State = EntityState.Modified;
                        }

                        var surveyItemList = edb.SurveyItem.Where(p => p.SurveyId == surveyId);

                        // 删除原有 SurveyItem
                        foreach (var item in surveyItemList)
                        {
                            item.Status = ConvertEnum.StatusTypeForDelete;
                            foreach (var option in item.SurveyItemOption)
                            {
                                option.Status = ConvertEnum.StatusTypeForDelete;

                                edb.Entry(option).State = EntityState.Modified;
                            }

                            edb.Entry(item).State = EntityState.Modified;
                        }

                        // 新增更改 SurveyItem
                        foreach (var item in surveyItems)
                        {
                            var surveyItem = new SurveyItem()
                            {
                                Title = item.title,
                                Status = ConvertEnum.StatusTypeForActive,
                                SurveyId = surveyId,
                                IsMultiple = item.IsMulti,
                                CreateTime = DateTime.Now,
                            };

                            edb.Entry(surveyItem).State = EntityState.Added;
                            edb.SaveChanges();

                            foreach (var option in item.Options)
                            {
                                var surveyItemOption = new SurveyItemOption()
                                {
                                    Title = option.title,
                                    Status = ConvertEnum.StatusTypeForActive,
                                    SurveyItemId = surveyItem.Id,
                                    CreateTime = DateTime.Now
                                };

                                edb.Entry(surveyItemOption).State = EntityState.Added;
                            }
                        }

                        var result = edb.SaveChanges() > 0;
                        tran.Complete();

                        return result;
                    }
                    catch (Exception ex)
                    {
                        tran.Dispose();
                        Common.MSMQ.QueueManager.AddExceptionLog(new ExceptionLogs()
                        {
                            ExceptionType = CommonHelper.To<int>(ExceptionType.Message),
                            Message = string.Format("SurveyBLL-UpdateSurvey:{0};{1};{2}", ex.Message, ex.InnerException, ex.HelpLink),
                            IsTreat = false,
                            CreateBy = loginUserId,
                            CreateTime = DateTime.Now
                        });
                        return false;
                    }
                }
            }
        }
Exemple #29
0
 public AuditItem(SurveyItem surveyItem)
 {
     _surveyItem = surveyItem;
     Number      = _surveyItem.Number;
 }
Exemple #30
0
 /// <summary>
 /// 作者:Kylin
 /// 时间:2014.01.26
 /// 描述:获取问卷项信息
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public ActionResult GetSurveyItemsInfo(SurveyItem model)
 {
     return PartialView("_SurveyItem", model);
 }
Exemple #31
0
        public async Task <ActionResult> RowDropHandler(List <SurveyItemViewModel> changed, int dropIndex)
        {
            try
            {
                JavaScriptSerializer ser = new JavaScriptSerializer();
                var count = 0;
                if (changed != null)
                {
                    var surveys = await _prepareService.GetSurveys(changed.FirstOrDefault().SurveyId);

                    var survey     = surveys.FirstOrDefault();
                    var surveyTemp = survey;
                    List <SurveyItem> surveyItemsTemp = survey.SurveyItems.ToList();


                    surveyTemp.StartTracking();
                    //Firstly delete all surveyItem to avoid bug as Number also a primary key
                    foreach (var tempItem in surveyTemp.SurveyItems.ToList())
                    {
                        surveyTemp.SurveyItems.ToList().FirstOrDefault(i => i.Number == tempItem.Number).MarkAsDeleted();
                    }
                    Survey[] deleteSurveyItem = new[] { surveyTemp };
                    await _prepareService.SaveSurveys(deleteSurveyItem);



                    foreach (var item in changed)
                    {
                        SurveyItem changeItem = new SurveyItem
                        {
                            SurveyId = item.SurveyId,
                            Number   = dropIndex,
                            Query    = item.Query
                        };

                        surveyItemsTemp.RemoveWhere(i => i.Number == item.Number);
                        surveyItemsTemp.Insert(dropIndex + count, changeItem);
                    }

                    survey.StartTracking();
                    var countReorder = 1;
                    foreach (var item in surveyItemsTemp)
                    {
                        survey.SurveyItems.Add(new SurveyItem
                        {
                            Number   = countReorder,
                            Query    = item.Query,
                            SurveyId = item.SurveyId
                        });
                        countReorder++;
                    }
                    Survey[] editSurvey = new[] { survey };
                    await _prepareService.SaveSurveys(editSurvey);
                }
                else
                {
                    throw new ArgumentException(LocalizedStrings.GetString("AskSelectLineChangePosition") /*"Veuillez sélectionner une ligne avant de changer de position"*/);
                }

                return(Json(changed, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, ex.Message));
            }
        }
Exemple #32
0
        public async Task <ActionResult <SurveyDetailResponse> > GetQuestionary(int id, string user_id)
        {
            var item = await _surveyRepository.GetAsync(id);

            //var au = Request.Headers.FirstOrDefault(o => o.Key == "Authorization");
            //var aus = au.Value.ToString().Replace("Bearer ", "");


            //var userId = user_id;// GetUserId();
            User user = null;

            if (!string.IsNullOrEmpty(user_id) && Int32.TryParse(user_id, out int _user_id))
            {
                user = await _userRepository.GetAsync(_user_id);
            }

            if (item == null)
            {
                return(NotFound());
            }

            //var comments = new List<Comment>();
            //item?.Survey?.SurveyComment?.ToList().ForEach(
            //    c => comments.Add(
            //        new Comment
            //        {
            //            Id = c.Id,
            //            IsMine = c.User?.Email == GetUserId(),
            //            CommentAt = c.CreatedAt,
            //            Nick = c.User?.Nick,
            //            Text = c.Text
            //        })
            //);
            var questionaries = new List <Dto.Survey.Questionary>();
            //var answers = item.Survey.SurveyUser;
            List <UserQuestionAnswer> answers = null;

            if (user != null && user.SurveyUsers != null && user.SurveyUsers.FirstOrDefault(p => p.SurveyId == id) != null)
            {
                answers = await _userQuestionRepository.GetAsync(user.SurveyUsers.FirstOrDefault(p => p.SurveyId == id).Id);
            }

            item?.Survey?.Questionary?.ToList().ForEach(
                c => questionaries.Add(
                    new Dto.Survey.Questionary
            {
                Id         = c.Id,
                Question   = c.Question,
                Answer     = c.RightAnswer,
                IsAnswered = answers?.Any(p => p.QuestionaryID == c.Id)
                             //user?.SurveyUsers?.First(p => p.SurveyId == id).UserQuestionAnswer.Any(p => p.QuestionaryID == c.Id)
                             //item.Survey.Questionary.Any( p => p.Id == c.Id && answers.Any(s => s.QuestionaryID == p.Id))
            })
                );
            var users = new List <UserResponse>();

            item?.SurveyUsers?.ToList().ForEach(
                c => users.Add(
                    new UserResponse
            {
                Id          = c.UserId,
                CompletedAt = c.FinishDate,
                Nickname    = c.User.Nick,
                Surname     = c.User.Surname,
                Name        = c.User.Name
            })
                );

            var videoLink = item.Survey?.AdditionalInfo?.LinkToVideo;

            bool is_video_watched = false;

            if (!string.IsNullOrEmpty(videoLink) && user != null)
            {
                var user_id2 = user.Id;
                var video_id = Youtube.ExtractVideoIdFromUri(new Uri(videoLink));
                if (!string.IsNullOrEmpty(video_id))
                {
                    var videoViewPercentage = await _generalSettingsRepository.GetVideoViewPercentage();

                    is_video_watched = await _videoTimelineRepository.IsSawAsync(user_id2, video_id, videoViewPercentage);
                }
            }

            var surveyItem = new SurveyItem
            {
                Id                     = item.Survey.Id,
                Title                  = item.Survey.Title,
                Description            = item.Survey.Text,
                TimeForCompleting      = item.Survey.NeedToBeFinishedFor,
                TimeForCompletingStart = item.Survey.NeedToBeFinishedForStart,
                IsLiked                = item.Survey.Likes != null &&
                                         item.Survey.Likes.FirstOrDefault(m => m.User?.Email == user?.Email) != null,
                Score          = item.Survey.Score,
                CurrentCnt     = item.Survey.NumberOfUser,
                LimitCnt       = item.Survey.Limit,
                link           = item.Survey?.AdditionalInfo?.LinkToSite,
                linkVideo      = videoLink,
                IsVideoWatched = is_video_watched,
            };

            var detail = new SurveyDetailResponse
            {
                //Comments = comments,
                Questionaries = questionaries,
                SurveyItem    = surveyItem,
                Users         = users,
            };

            return(detail);
        }