public ActionResult Edit(LetterModel model) { using (ncelsEntities db = new ncelsEntities()) { OBK_LetterPortalEdo dataFromDB = db.OBK_LetterPortalEdo.Where(x => x.ID == model.ID).FirstOrDefault(); if (dataFromDB != null) { dataFromDB.LetterContent = model.LetterContent; dataFromDB.ContractId = model.ContractId; dataFromDB.OBK_LetterRegistration.LetterRegName = model.RegName; dataFromDB.OBK_LetterRegistration.LetterRegDate = model.LetterRegDate; db.SaveChanges(); foreach (HttpPostedFileBase file in model.files) { //Checking file is available to save. if (file != null) { string InputFileName = Path.GetFileName(file.FileName); OBK_LetterAttachments attach = new OBK_LetterAttachments(); attach.AttachmentName = InputFileName; attach.ContentFile = StreamToByteArray(file.InputStream); attach.LetterId = dataFromDB.ID; db.OBK_LetterAttachments.Add(attach); db.SaveChanges(); } } } } return(RedirectToAction("Index")); }
public bool RecieveAnswerLetterFromEdo(CommingLetterFromEdo edoLetter) { long result = 0; try { LetterWithEdoRepository rep = new LetterWithEdoRepository(false); OBK_LetterFromEdo edo = new OBK_LetterFromEdo(); edo.IdEdo = edoLetter.id_edo; edo.LetterRegNomer = edoLetter.id_letter_edo; edo.LetterText = edoLetter.letter_text; edo.LetterRegDate = Convert.ToDateTime(edoLetter.date_letter_edo); edo.UserEdo = edoLetter.user_edo; edo.LetterPortalEdoID = long.Parse(edoLetter.letter_obk); //string fileNameWithPath = Server.MapPath("/Content/json/rite.txt"); //if (!File.Exists(fileNameWithPath)) //{ // string createText = "Hello and Welcome" + edoLetter.id_edo+ edoLetter.id_letter_edo+ edoLetter.letter_text+ edoLetter.date_letter_edo+ edoLetter.user_edo+ edoLetter.letter_obk; // File.WriteAllText(fileNameWithPath, createText); //} result = rep.saveIncomingLetter(edo); if (result != 0 && edoLetter.attachments.Count != 0) { List <OBK_LetterAttachments> list = new List <OBK_LetterAttachments>(); foreach (CommingAttachFileFromEdo d in edoLetter.attachments) { OBK_LetterAttachments a = new OBK_LetterAttachments(); a.SignXmlBigData = d.sign; a.LetterId = result; a.ContentFile = System.Text.Encoding.UTF8.GetBytes(d.content); list.Add(a); } rep.saveAttachFilesFromEdo(list); } } catch (Exception e) { return(false); } if (result == 0) { return(false); } else { return(true); } }
public ActionResult AddLetter(LetterModel model) { if (model != null) { using (ncelsEntities db = new ncelsEntities()) { OBK_LetterRegistration letterRegistartin = new OBK_LetterRegistration(); letterRegistartin.LetterRegDate = model.LetterRegDate; letterRegistartin.LetterRegName = model.RegName; db.OBK_LetterRegistration.Add(letterRegistartin); db.SaveChanges(); OBK_LetterPortalEdo data = new OBK_LetterPortalEdo(); data.LetterContent = model.LetterContent; data.CreatedDate = DateTime.Now; data.ContractId = model.ContractId; data.AuthorID = model.AuthorID; data.LetterContent = model.LetterContent; data.OBKLetterRegID = letterRegistartin.ID; data.LetterStatusId = model.LetterStatusId;//Pismo prosto sohranen na base db.OBK_LetterPortalEdo.Add(data); db.SaveChanges(); foreach (HttpPostedFileBase file in model.files) { //Checking file is available to save. if (file != null) { string InputFileName = Path.GetFileName(file.FileName); OBK_LetterAttachments attach = new OBK_LetterAttachments(); attach.AttachmentName = InputFileName; attach.ContentFile = StreamToByteArray(file.InputStream); attach.LetterId = data.ID; db.OBK_LetterAttachments.Add(attach); } } model.ID = data.ID; db.SaveChanges(); if (model.LetterStatusId == 2) { var dataDocs = db.OBK_LetterAttachments.Where(x => x.LetterId == model.ID).Select(x => new AttachDoc { AttachmentName = x.AttachmentName, ID = x.ID, isSigned = string.IsNullOrEmpty(x.SignXmlBigData) ? false : true, }).ToList(); model.listDoc = dataDocs; } db.SaveChanges(); } } if (model.LetterStatusId == 2) { if (model.listDoc.Count != 0) { return(View("SignViewStart", model)); } else { //WebSerice return(RedirectToAction("Index")); } } else { return(RedirectToAction("Index")); } }
public ActionResult SignForm(long id, string xmlAuditForm) { bool success = true; var counter = 0; using (ncelsEntities db = new ncelsEntities()) { try { OBK_LetterAttachments attach = db.OBK_LetterAttachments.Where(x => x.ID == id).FirstOrDefault(); attach.SignXmlBigData = xmlAuditForm; db.SaveChanges(); var countSigned = db.OBK_LetterAttachments.Count((x => (x.SignXmlBigData == null || x.SignXmlBigData == "") && x.LetterId == attach.LetterId)); counter = countSigned; if (counter == 0) { OBK_LetterPortalEdo partal = db.OBK_LetterPortalEdo.Where(x => x.ID == attach.LetterId).FirstOrDefault(); OBK_LetterRegistration regPartal = db.OBK_LetterRegistration.Where(x => x.ID == partal.OBKLetterRegID).FirstOrDefault(); partal.LetterStatusId = 2; db.SaveChanges(); //CallWebServiceWithEDO var employee = db.Employees.FirstOrDefault(x => x.Login == User.Identity.Name); ActionClient client = new ActionClient(); InParameters parameters = new InParameters(); parameters.date_letter = partal.CreatedDate.ToString("dd.MM.yyyy"); parameters.id_contact = partal.ID.ToString(); parameters.id_edo = ""; parameters.id_letter_obk = regPartal.ID.ToString(); parameters.id_letter_user = regPartal.LetterRegName; parameters.date_letter_user = regPartal.LetterRegDate.Value.ToString("dd.MM.yyyy"); parameters.letter_text = partal.LetterContent; parameters.user_obk = employee.LastName; List <OBK_LetterAttachments> listAttach = db.OBK_LetterAttachments.Where(x => x.LetterId == partal.ID).ToList(); List <Attachment> lists = new List <Attachment>(); foreach (OBK_LetterAttachments attachFile in listAttach) { Attachment attachs = new Attachment(); sbyte[] signed = Array.ConvertAll(attachFile.ContentFile, b => unchecked ((sbyte)b)); attachs.content = Convert.ToBase64String(attachFile.ContentFile); attachs.name = attachFile.AttachmentName; attachs.sign = attachFile.SignXmlBigData; lists.Add(attachs); } parameters.attachments = lists.ToArray(); var datasend = client.sendINDocument(parameters); if (datasend) { } } } catch (Exception e) { success = false; } } return(Json(new { success, counter }, JsonRequestBehavior.AllowGet)); }