public JObject SaveFeedBack([System.Web.Http.FromBody] FeedbkForm feedbackForm)
        {
            if (feedbackForm.OrgId <= 0)
            {
                var ObjInfo = Request.Cookies["UserInfo"];
                feedbackForm.OrgId = int.Parse(ObjInfo["OrgId"]);
            }
            feedbackForm.Save();
            int FeedbackId   = feedbackForm.Id;
            var QuestionList = feedbackForm.Questions;

            QuestionList = QuestionList.FindAll(x => x.Title != null && x.Title != "");
            foreach (var question in QuestionList)
            {
                question.FeedBkFormID = FeedbackId;
                question.Save();
                int QuestionId = question.ID;
                if (question.QuestionType == 1 && question.Objectives != null)
                {
                    var Objectives = question.Objectives.FindAll(x => x.Name != null && x.Name != "");
                    foreach (var Objective in Objectives)
                    {
                        Objective.QuestionId = QuestionId;
                        Objective.Save();
                    }
                }
            }
            JObject response = new JObject();

            response.Add("Name", feedbackForm.Name);
            response.Add("Create", DateTime.Now.ToString("dd/MM/yyyy HH:mm"));
            response.Add("Id", feedbackForm.Id);
            return(response);
        }
        public JObject ListFeedBack()
        {
            var ObjInfo = Request.Cookies["UserInfo"];
            int OrgId   = int.Parse(ObjInfo["OrgId"]);
            HG_OrganizationDetails orgobj = new HG_OrganizationDetails().GetOne(OrgId);
            int OrgType = orgobj.OrgTypes != null?int.Parse(orgobj.OrgTypes) : 1;

            List <HG_Floor_or_ScreenMaster> floorOrScreens   = new HG_Floor_or_ScreenMaster().GetAll(OrgType);
            List <HG_Tables_or_Sheat>       tableOrSheatlist = new HG_Tables_or_Sheat().GetAll(OrgType);
            JObject FeedBackObj = new JObject();
            var     feedbklist  = FeedbkForm.GetAll(OrgId);
            JArray  jArrayfdbk  = new JArray();

            foreach (var feedback in feedbklist)
            {
                JObject jObject = JObject.FromObject(feedback);
                jObject.Add("Create", feedback.CreateDate.ToString("dd/MM/yyyy HH:mm"));
                jArrayfdbk.Add(jObject);
            }
            FeedBackObj.Add("FormList", jArrayfdbk);
            JArray jArray = new JArray();

            foreach (HG_Floor_or_ScreenMaster Floors in floorOrScreens)
            {
                JObject jObject = JObject.FromObject(Floors);
                jObject.Add("TableSheatList", JArray.FromObject(tableOrSheatlist.FindAll(x => x.Floor_or_ScreenId == Floors.Floor_or_ScreenID)));
                jArray.Add(jObject);
            }
            FeedBackObj.Add("FloorList", jArray);
            return(FeedBackObj);
        }
        public int ActiveForm([System.Web.Http.FromBody] ActiveMenu activeMenu)
        {
            //var Jobj = { };
            //Jobj.OMID = MenuId;
            //Jobj.TorSIDs = TableList;
            //Jobj.OrgId = OrgId;
            int status = 0;
            int FID    = activeMenu.OMID;
            int OrgId  = activeMenu.OrgId;
            HG_OrganizationDetails hG_OrganizationDetails = new HG_OrganizationDetails().GetOne(OrgId);
            string            OrgType      = hG_OrganizationDetails.OrgTypes != null ? hG_OrganizationDetails.OrgTypes : "1";
            List <FeedbkForm> FeedBackList = FeedbkForm.GetAll(OrgId);
            FeedbkForm        FeedBkObj    = FeedBackList.Find(x => x.Id == FID);

            FeedBkObj.Status = true;
            FeedBkObj.Save();
            List <HG_Tables_or_Sheat> TorSlist = new HG_Tables_or_Sheat().GetAll(int.Parse(OrgType));
            var AlreadySelectedList            = TorSlist.FindAll(x => x.FDBKId == FID);

            Int64[]         items    = activeMenu.TorSIDs;
            HashSet <Int64> hashKeys = new HashSet <Int64>();

            if (items != null && items.Length > 0)
            {
                hashKeys = new HashSet <Int64>(items);
            }
            var RemovedTorSList = AlreadySelectedList.FindAll(x => !hashKeys.Contains(x.Table_or_RowID));
            List <HG_Tables_or_Sheat> OnlyApplytoTorS = TorSlist.FindAll(x => hashKeys.Contains(x.Table_or_RowID));

            foreach (var TorSobj in OnlyApplytoTorS)
            {
                TorSobj.FDBKId = FID;
                TorSobj.save();
            }

            foreach (var TorSobj in RemovedTorSList)
            {
                TorSobj.FDBKId = 0;
                TorSobj.save();
            }
            return(status);
        }
Exemple #4
0
        //=========FEEDBACK API===========
        public JObject FeedBack(Int64 OID, int CID)
        {
            HG_Orders          hG_Orders = new HG_Orders().GetOne(OID);
            HG_Tables_or_Sheat Seating   = new HG_Tables_or_Sheat().GetOne(hG_Orders.Table_or_SheatId);
            JObject            respose   = new JObject();

            if (Seating.FDBKId > 0)// feedback applied in seating
            {
                FeedbkForm         feedbkForm   = FeedbkForm.GetOne(Seating.FDBKId);
                List <FeedBackQue> feedBackQues = FeedBackQue.GetAll(feedbkForm.Id);
                feedBackQues = feedBackQues.FindAll(x => x.Status);
                feedBackQues = feedBackQues.OrderBy(x => x.OrderNo).ToList();
                respose.Add("Status", 200);
                JArray jArray = new JArray();
                foreach (var question in feedBackQues)
                {
                    JObject jObject = new JObject();
                    jObject.Add("QID", question.ID);
                    jObject.Add("Title", question.Title);
                    jObject.Add("QuestionType", question.QuestionType);
                    jObject.Add("FeedBkFormID", question.FeedBkFormID);
                    if (question.Title.Contains("ITEM FEEDBACK") && (question.QuestionType == 0 || question.QuestionType == 3))
                    {
                        jObject["Title"] = "ITEM FEEDBACK";
                        List <HG_OrderItem> hG_OrderItems = new HG_OrderItem().GetAll(OID);
                        hG_OrderItems = hG_OrderItems.FindAll(x => x.Status == 3);
                        hG_OrderItems = hG_OrderItems.FindAll(x => x.OrdById == CID);
                        JArray itemfeedbks = new JArray();
                        for (int i = 0; i < hG_OrderItems.Count; i++)
                        {
                            HG_Items Objfood  = new HG_Items().GetOne(hG_OrderItems[i].FID);
                            JObject  ItemJobj = new JObject();
                            ItemJobj.Add("ItmId", hG_OrderItems[i].FID);//FID is ItemId
                            ItemJobj.Add("ItmName", Objfood.Items);
                            itemfeedbks.Add(ItemJobj);
                        }
                        jObject.Add("Items", itemfeedbks);
                    }
                    if (question.QuestionType == 1)
                    {
                        List <FeedbkObj> objectivesList = FeedbkObj.GetAll(question.ID);
                        FeedbkObj        firstt         = objectivesList.FirstOrDefault();
                        jObject.Add("ObjectiveType", firstt.ObjectiveType);
                        jObject.Add("Objectives", JArray.FromObject(objectivesList));
                    }
                    jArray.Add(jObject);
                }
                //=====add customer review comment in last at feedback
                JObject jObject2 = new JObject();
                jObject2.Add("QID", 0);
                jObject2.Add("Title", "");
                jObject2.Add("QuestionType", 5);
                jObject2.Add("FeedBkFormID", 0);
                jArray.Add(jObject2);
                respose.Add("Questions", jArray);
            }
            else
            {
                respose.Add("Status", 400);
            }
            return(respose);
        }