Пример #1
0
        public ActionResult CreateResponse(Respons response,
                                           HttpPostedFileBase image)
        {
            Request request = requestContext.FindOneForId(response.Id_Request);

            if (ModelState.IsValid)
            {
                if (image != null)
                {
                    response.ImageMimeType = image.ContentType;
                    response.FinalImage    = new byte[image.ContentLength];
                    image.InputStream.Read(response.FinalImage, 0, image.ContentLength);

                    response.FinalDate = System.DateTime.Now;
                    request.Estatus    = "Completed";
                    responseContext.Add(response);
                    requestContext.Edit(request);
                    responseContext.Save();
                    requestContext.Save();
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError("", "Please, load the final image.");
                }
            }
            response.Request = request;
            return(View(response));
        }
Пример #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            Respons response = _db.Responses.Find(id);

            _db.Responses.Remove(response);
            _db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #3
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Respons respons = await db.Responses.FindAsync(id);

            db.Responses.Remove(respons);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Пример #4
0
        //
        // GET: /Response/Details/5

        public ActionResult Details(int id = 0)
        {
            Respons response = _db.Responses.Find(id);

            if (response == null)
            {
                return(HttpNotFound());
            }
            return(View(response));
        }
Пример #5
0
        public ActionResult DetailResponse(int id)
        {
            Respons response = responseContext.FindOneForId(id);

            if (response == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            return(View(response));
        }
Пример #6
0
        public async Task <ActionResult> Edit([Bind(Include = "id,content,intentId")] Respons respons)
        {
            if (ModelState.IsValid)
            {
                db.Entry(respons).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.intentId = new SelectList(db.Intents, "id", "content", respons.intentId);
            return(View(respons));
        }
Пример #7
0
        public async Task <ActionResult> Create([Bind(Include = "id,content,intentId")] Respons respons)
        {
            if (ModelState.IsValid)
            {
                db.Responses.Add(respons);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.intentId = new SelectList(db.Intents, "id", "content", respons.intentId);
            return(View(respons));
        }
Пример #8
0
        public FileContentResult GetImage(int id)
        {
            Respons response = responseContext.FindOneForId(id);

            if (response != null)
            {
                return(File(response.FinalImage, response.ImageMimeType));
            }
            else
            {
                return(null);
            }
        }
Пример #9
0
        // GET: Respons/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Respons respons = await db.Responses.FindAsync(id);

            if (respons == null)
            {
                return(HttpNotFound());
            }
            return(View(respons));
        }
 private void ResponsInneholderPåkrevdeNoder(string elementXPath, out XmlNodeList nodes)
 {
     nodes = Respons.SelectNodes(elementXPath, _nsMgr);
     if (nodes == null || nodes.Count == 0)
     {
         throw new SdpSecurityException(
                   $"Kan ikke finne påkrevet element '{elementXPath}' i svar fra meldingsformidler.");
     }
     if (nodes.Count > 1)
     {
         throw new SdpSecurityException(
                   $"Påkrevet element '{elementXPath}' kan kun forekomme én gang i svar fra meldingsformidler. Ble funnet {nodes.Count} ganger.");
     }
 }
Пример #11
0
        public ActionResult CreateResponse(int id_request)
        {
            Respons response = new Respons();
            Request request  = requestContext.FindOneForId(id_request);

            if (request == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            response.Request    = request;
            response.Cost       = 1;
            response.Id_Request = request.Id;
            return(View("CreateResponse", response));
        }
Пример #12
0
        // GET: Respons/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Respons respons = await db.Responses.FindAsync(id);

            if (respons == null)
            {
                return(HttpNotFound());
            }
            ViewBag.intentId = new SelectList(db.Intents, "id", "content", respons.intentId);
            return(View(respons));
        }
Пример #13
0
        public ActionResult Edit(IList <Respons> model, FormCollection formCollection)
        {
            var qqcIds = model.Select(x => x.QuestionnaireQCategoryId).Distinct().ToList();


            var scope = new TransactionScope(
                // a new transaction will always be created
                TransactionScopeOption.RequiresNew,
                // we will allow volatile data to be read during transaction
                new TransactionOptions()
            {
                IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted
            }
                );

            if (ModelState.IsValid)
            {
                using (scope)
                {
                    try
                    {
                        foreach (var record in _db.Responses)
                        {
                            if (record.UserId == model[0].UserId && qqcIds.Contains(record.QuestionnaireQCategoryId))
                            {
                                _db.Responses.Remove(record);
                            }
                        }
                        _db.SaveChanges();

                        foreach (var r in model)
                        {
                            Respons response = r;
                            _db.Responses.Add(response);
                            _db.SaveChanges();
                            var check = _db.Responses.Single(x => x.ResponseId == response.ResponseId);
                        }
                        scope.Complete();
                        return(RedirectToAction("Edit", "Response", new { area = "", id = 1 }));
                    }
                    catch { }
                }
                //db.Entry(Response).State = EntityState.Modified;
            }
            return(View());
        }
Пример #14
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (respons_ != null)
            {
                hash ^= Respons.GetHashCode();
            }
            if (user_ != null)
            {
                hash ^= User.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        private void ValiderKvitteringSignatur()
        {
            var standardBusinessDocumentNode =
                Respons.SelectSingleNode("/env:Envelope/env:Body/sbd:StandardBusinessDocument", _nsMgr);

            if (standardBusinessDocumentNode != null)
            {
                var standardBusinessDocument = XmlNodeToXmlDocument(standardBusinessDocumentNode);

                _signedXmlWithAgnosticId = new SignedXmlWithAgnosticId(standardBusinessDocument);
                _signaturnode            = (XmlElement)standardBusinessDocument.SelectSingleNode("//ds:Signature", _nsMgr);

                ValiderSignaturOgSertifikat("./ds:KeyInfo/ds:X509Data/ds:X509Certificate");
            }
            else
            {
                throw new SdpSecurityException("Fant ikke StandardBusinessDocument-node. Prøvde du å validere en transportkvittering?");
            }
        }
        private bool ValiderDigestElement(string sendtMeldingDigestSti, string mottattSvarDigestSti, string id, out string sendtMeldingDigest, out string mottattSvarDigest)
        {
            sendtMeldingDigest = null;
            mottattSvarDigest  = null;

            var sendtMeldingSelectedNode = SendtMelding.SelectSingleNode(string.Format(sendtMeldingDigestSti, id), _nsMgr);

            if (sendtMeldingSelectedNode != null)
            {
                sendtMeldingDigest = sendtMeldingSelectedNode.InnerText;
            }

            var responsSelectedNode = Respons.SelectSingleNode(string.Format(mottattSvarDigestSti, id), _nsMgr);

            if (responsSelectedNode != null)
            {
                mottattSvarDigest = responsSelectedNode.InnerText;
            }

            return(sendtMeldingDigest != null && responsSelectedNode != null && sendtMeldingDigest == mottattSvarDigest);
        }
Пример #17
0
 public void MergeFrom(UserResponse other)
 {
     if (other == null)
     {
         return;
     }
     if (other.respons_ != null)
     {
         if (respons_ == null)
         {
             Respons = new global::BoardGamesGrpc.SharedModel.ServerResponse();
         }
         Respons.MergeFrom(other.Respons);
     }
     if (other.user_ != null)
     {
         if (user_ == null)
         {
             User = new global::BoardGamesGrpc.SharedModel.User();
         }
         User.MergeFrom(other.User);
     }
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }
Пример #18
0
        // POST: api/SMSService

        public HttpResponseMessage Post([FromBody] SMSClientDTO SMSData)
        {
            string functionCall = Utilities.ValidetAppAndSender(SMSData.AppId, SMSData.Sender);

            if (string.IsNullOrEmpty(functionCall))
            {
                return(new HttpResponseMessage
                {
                    ReasonPhrase = "Application Code Or Sender Name not valid",
                    StatusCode = HttpStatusCode.BadRequest
                });
            }
            using (SMSContext db = new SMSContext())
            {
                try
                {
                    List <SMSSenderNumber> SenderNumbers = new List <SMSSenderNumber>();
                    foreach (string number in SMSData.MobileNumbers)
                    {
                        var id = db.MobileNumbers.Where(c => c.Number == number).Select(s => s.Id).FirstOrDefault();
                        if (id == 0)
                        {
                            var MNumber = db.MobileNumbers.Add(new MobileNumber()
                            {
                                Number = number
                            });
                            db.SaveChanges();
                            SenderNumbers.Add(new SMSSenderNumber()
                            {
                                MNumberId = MNumber.Id
                            });
                        }
                        else
                        {
                            SenderNumbers.Add(new SMSSenderNumber()
                            {
                                MNumberId = id
                            });
                        }
                    }
                    OutGoingSMSBasicInfo SMSInfo = new OutGoingSMSBasicInfo()
                    {
                        AppSenderId      = db.ApplicationSenders.Where(c => c.SenderId == SMSData.Sender & c.AppId == SMSData.AppId).Select(s => s.Id).FirstOrDefault(),
                        DelayUntil       = SMSData.DelayUntil.ToString(),
                        language         = SMSData.Language.ToString(),
                        Message          = SMSData.TextMessage,
                        RequestDate      = DateTime.Now,
                        SMSSenderNumbers = SenderNumbers,
                    };
                    db.OutGoingSMSBasicInfoes.Add(SMSInfo);

                    db.SaveChanges();
                    var CommonClasses = typeof(Utilities);


                    IRestResponse ResponseContent = (IRestResponse)CommonClasses.GetMethod(functionCall).Invoke(null, new object[] { SMSData });

                    //MethodInfo method = Utilities.;
                    //object result = method.Invoke(service, new object[] { request });
                    //IRestResponse ResponseContent = Utilities.CallSMSMisrProvider(SMSData);
                    XDocument xdoc = XDocument.Parse(ResponseContent.Content);
                    //    var result = Newtonsoft.Json.JsonConvert.DeserializeObject(xdoc.ToString());

                    Respons Respons = new Respons()
                    {
                        ResponseObject = ResponseContent.Content,
                        // StatusId = db.Status.Where(c => c.StatusCode == result.code).Select(s => s.Id).FirstOrDefault(),
                    };

                    db.Responses.Add(Respons);
                    db.SaveChanges();
                    SMSInfo.ResponseId = Respons.Id;
                    //     db.OutGoingSMSBasicInfoes.Attach(SMSInfo);
                    db.SaveChanges();
                    return(new HttpResponseMessage()
                    {
                        ReasonPhrase = "Success",

                        StatusCode = HttpStatusCode.OK
                    });
                }
                catch (Exception ex)
                {
                    return(new HttpResponseMessage
                    {
                        ReasonPhrase = ex.Message,

                        StatusCode = HttpStatusCode.InternalServerError
                    });
                }
            }
        }
Пример #19
0
        static async Task MainAsync(string[] args)
        {
            Console.WriteLine("start import");
            string      dialogflowToken = ConfigurationManager.AppSettings["dialogflowToken"];
            string      excelPath       = ConfigurationManager.AppSettings["excelPath"];
            Application excelApp        = new Application();

            if (excelApp == null)
            {
                Console.WriteLine("Excel is not installed!!");
                return;
            }
            Workbook excelBook = null;

            try
            {
                excelBook = excelApp.Workbooks.Open(@excelPath);
            }
            catch
            {
                Console.WriteLine("Excel is not installed!!");
            }

            _Worksheet excelSheet = excelBook.Sheets[1];
            Range      excelRange = excelSheet.UsedRange;

            int rows = excelRange.Rows.Count;
            int cols = excelRange.Columns.Count;

            List <ExcelView> excelViewList = new List <ExcelView>();

            for (int i = 2; i <= rows; i++)
            {
                ExcelView excelView = new ExcelView();


                if (excelRange.Cells[i, 1] != null && excelRange.Cells[i, 1].Value2 != null)
                {
                    excelView.number = excelRange.Cells[i, 1].Value2.ToString();
                }
                else
                {
                    excelView.number = "-";
                }
                if (excelRange.Cells[i, 2] != null && excelRange.Cells[i, 2].Value2 != null)
                {
                    excelView.intent = excelRange.Cells[i, 2].Value2.ToString();
                }
                else
                {
                    excelView.intent = "-";
                }
                if (excelRange.Cells[i, 3] != null && excelRange.Cells[i, 3].Value2 != null)
                {
                    excelView.Trainingphrases = excelRange.Cells[i, 3].Value2.ToString();
                }
                else
                {
                    excelView.Trainingphrases = "-";
                }
                if (excelRange.Cells[i, 4] != null && excelRange.Cells[i, 4].Value2 != null)
                {
                    excelView.Responses = excelRange.Cells[i, 4].Value2.ToString();
                }
                else
                {
                    excelView.Responses = "-";
                }

                excelViewList.Add(excelView);
            }
            var query = from c in excelViewList
                        group c by c.number into g
                        select new { number = g.Key };
            Int32             n = query.Count();
            List <IntentView> intentViewList = new List <IntentView>();

            for (int i = 1; i <= n; i++)
            {
                IntentView       intentView        = new IntentView();
                List <ExcelView> excelViewListTemp = excelViewList.Where(w => w.number == Convert.ToString(i)).ToList();
                foreach (ExcelView excelView in excelViewListTemp)
                {
                    if (intentView.name.Equals("-"))
                    {
                        intentView.name   = excelView.intent;
                        intentView.action = excelView.intent;
                    }
                    if (!excelView.Trainingphrases.Equals("-"))
                    {
                        intentView.input.Add(excelView.Trainingphrases);
                    }
                    if (!excelView.Responses.Equals("-"))
                    {
                        intentView.response.Add(excelView.Responses);
                    }
                }
                DialogFlowInsertModel dialogFlowModel = new DialogFlowInsertModel();
                dialogFlowModel.contexts              = new List <string>();
                dialogFlowModel.events                = new List <object>();
                dialogFlowModel.fallbackIntent        = false;
                dialogFlowModel.name                  = intentView.name;
                dialogFlowModel.priority              = 500000;
                dialogFlowModel.responses             = new List <Respons>();
                dialogFlowModel.templates             = new List <string>();
                dialogFlowModel.userSays              = new List <UserSay>();
                dialogFlowModel.webhookForSlotFilling = false;
                dialogFlowModel.webhookUsed           = false;

                Respons respons = new Respons();
                respons.action                   = intentView.name;
                respons.affectedContexts         = new List <AffectedContext>();
                respons.defaultResponsePlatforms = new DefaultResponsePlatforms();
                respons.messages                 = new List <Message>();
                respons.parameters               = new List <model.Parameter>();
                respons.resetContexts            = false;

                Message message = new Message();
                message.type   = 0;
                message.lang   = "th";
                message.speech = new List <string>();


                foreach (String res in intentView.response)
                {
                    message.speech.Add(res);
                }

                respons.messages.Add(message);
                dialogFlowModel.responses.Add(respons);

                foreach (String input in intentView.input)
                {
                    UserSay userSay = new UserSay();
                    userSay.count = 0;
                    userSay.data  = new List <Data>();
                    Data data = new Data();
                    data.text        = input;
                    data.userDefined = false;
                    userSay.data.Add(data);
                    dialogFlowModel.userSays.Add(userSay);
                }
                String json = JsonConvert.SerializeObject(dialogFlowModel);
                using (HttpClient client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.DefaultRequestHeaders.Add("Authorization", "Bearer " + dialogflowToken);
                    try
                    {
                        HttpResponseMessage responseGetInent = await client.GetAsync($"https://api.dialogflow.com/v1/intents?v=20150910");

                        if (responseGetInent.IsSuccessStatusCode)
                        {
                            HttpContent content = responseGetInent.Content;
                            string      result  = await content.ReadAsStringAsync();

                            List <InentModel> intentList = (List <InentModel>)JsonConvert.DeserializeObject(result, typeof(IList <InentModel>));

                            InentModel inentModel = intentList.Where(T => T.name.Equals(dialogFlowModel.name)).FirstOrDefault();
                            if (inentModel == null)
                            {
                                HttpResponseMessage res = await client.PostAsync($"https://api.dialogflow.com/v1/intents?v=20150910", new StringContent(json.ToString(), Encoding.UTF8, "application/json"));

                                if (res.IsSuccessStatusCode)
                                {
                                    Console.WriteLine("intent " + intentView.name + " insert succeeded");
                                }
                                else
                                {
                                    Console.WriteLine("intent " + intentView.name + " insert failed");
                                }
                            }
                            else
                            {
                                HttpResponseMessage res = await client.PutAsync($"https://api.dialogflow.com/v1/intents/" + inentModel.id + "?v=20150910", new StringContent(json.ToString(), Encoding.UTF8, "application/json"));

                                if (res.IsSuccessStatusCode)
                                {
                                    Console.WriteLine("intent " + intentView.name + " update succeeded");
                                }
                                else
                                {
                                    Console.WriteLine("intent " + intentView.name + " update failed");
                                }
                            }
                            //==============================
                        }
                        else
                        {
                            Console.WriteLine("intent " + intentView.name + " failed");
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("intent " + intentView.name + " failed");
                    }
                }
            }
            excelApp.Quit();
            System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);
            Console.WriteLine("finished");
            Console.ReadLine();

            Console.ReadKey(true);
        }