public override IDeepCopyable CopyTo(IDeepCopyable other) { var dest = other as EpisodeOfCare; if (dest == null) { throw new ArgumentException("Can only copy to an object of the same type", "other"); } base.CopyTo(dest); if (Identifier != null) { dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy()); } if (StatusElement != null) { dest.StatusElement = (Code <Hl7.Fhir.Model.EpisodeOfCare.EpisodeOfCareStatus>)StatusElement.DeepCopy(); } if (StatusHistory != null) { dest.StatusHistory = new List <Hl7.Fhir.Model.EpisodeOfCare.StatusHistoryComponent>(StatusHistory.DeepCopy()); } if (Type != null) { dest.Type = new List <Hl7.Fhir.Model.CodeableConcept>(Type.DeepCopy()); } if (Diagnosis != null) { dest.Diagnosis = new List <Hl7.Fhir.Model.EpisodeOfCare.DiagnosisComponent>(Diagnosis.DeepCopy()); } if (Patient != null) { dest.Patient = (Hl7.Fhir.Model.ResourceReference)Patient.DeepCopy(); } if (ManagingOrganization != null) { dest.ManagingOrganization = (Hl7.Fhir.Model.ResourceReference)ManagingOrganization.DeepCopy(); } if (Period != null) { dest.Period = (Hl7.Fhir.Model.Period)Period.DeepCopy(); } if (ReferralRequest != null) { dest.ReferralRequest = new List <Hl7.Fhir.Model.ResourceReference>(ReferralRequest.DeepCopy()); } if (CareManager != null) { dest.CareManager = (Hl7.Fhir.Model.ResourceReference)CareManager.DeepCopy(); } if (Team != null) { dest.Team = new List <Hl7.Fhir.Model.ResourceReference>(Team.DeepCopy()); } if (Account != null) { dest.Account = new List <Hl7.Fhir.Model.ResourceReference>(Account.DeepCopy()); } return(dest); }
/*public ActionResult PopulateDummyData() * { * var start = DateTime.UtcNow; * * var areas = db.Areas.ToList(); * var rand = new Random(); * * for (var n = 0; n < 1000; n++) * { * var home = new CareHome(); * home.Address = string.Format("{0}番地", n); * home.Area = areas[rand.Next(areas.Count)]; * home.CareHomeCode = (10000 + n).ToString(); * home.ChiefJobTitle = string.Format("施設長{0}", n); * home.ChiefName = string.Format("責任一郎{0}", n); * home.CompanyName = string.Format("○○ケア{0}", n); * home.CompanyType = new[]{ CompanyType.NPO, CompanyType.その他法人, CompanyType.医療法人, CompanyType.営利法人, CompanyType.社会福祉法人, CompanyType.地方自治体 }[rand.Next(6)]; * home.DataUpdated = DateTime.UtcNow.AddDays(-rand.Next(365)); * home.Email = string.Format("ichiro{0}@example.com", n); * home.Established = DateTime.UtcNow.AddYears(-rand.Next(20)); * home.Fax = string.Format("{0:D3}-{1:D4}-{2:D4}", rand.Next(1000), rand.Next(10000), rand.Next(10000)); * home.Latitude = 33.0 + 4.0 * rand.NextDouble(); * home.Longitude = 133.0 + 4.0 * rand.NextDouble(); * home.Messages = string.Format("事業所が入力したメッセージです。{0}", n); * home.Rating = 5.0 * rand.NextDouble(); * home.Region = string.Format("事業所が入力した対応可能地域です。{0}", n); * home.ReviewCount = rand.Next(1000); * home.Tel = string.Format("{0:D3}-{1:D4}-{2:D4}", rand.Next(1000), rand.Next(10000), rand.Next(10000)); * home.Traits = string.Format("事業所が入力した特徴・セールスポイントです。{0}", n); * home.WebsiteUrl = string.Format("http://example.com/{0}/", n); * home.Zip = string.Format("{0:D3}-{1:D4}", rand.Next(1000), rand.Next(10000)); * home.サービスの質の確保 = 5.0 * rand.NextDouble(); * home.その他在席人数 = rand.Next(100); * home.その他常勤換算 = 100.0 * rand.NextDouble(); * home.安全衛生管理等 = 5.0 * rand.NextDouble(); * home.介護支援専門員在席人数 = rand.Next(100); * home.介護支援専門員常勤換算 = 100.0 * rand.NextDouble(); * home.外部機関等との連携 = 5.0 * rand.NextDouble(); * home.経験5年以上割合 = rand.NextDouble(); * home.事業運営管理 = 5.0 * rand.NextDouble(); * home.事務員在席人数 = rand.Next(100); * home.事務員常勤換算 = 100.0 * rand.NextDouble(); * home.自立 = rand.Next(100); * home.従業者の研修等 = 5.0 * rand.NextDouble(); * home.全職員在席人数 = home.介護支援専門員在席人数 + home.事務員在席人数 + home.その他在席人数; * home.全職員常勤換算 = home.介護支援専門員常勤換算 + home.事務員常勤換算 + home.その他常勤換算; * home.相談苦情等への対応 = 5.0 * rand.NextDouble(); * home.要介護1 = rand.Next(100); * home.要介護2 = rand.Next(100); * home.要介護3 = rand.Next(100); * home.要介護4 = rand.Next(100); * home.要介護5 = rand.Next(100); * home.要支援1 = rand.Next(100); * home.要支援2 = rand.Next(100); * home.利用者の権利擁護 = 5.0 * rand.NextDouble(); * * db.CareHomes.Add(home); * } * db.SaveChanges(); * Response.Write(string.Format("Populated. {0}ms", (DateTime.UtcNow - start).TotalMilliseconds)); * return null; * }*/ public ActionResult PopulateDummyCareManagers() { var start = DateTime.UtcNow; var homeIds = db.CareHomes.Select(h => h.CareHomeId).ToList(); var licenseIds = db.Licenses.Select(l => l.LicenseId).ToList(); var rand = new Random(); for (var n = 0; n < 1000; n++) { var m = new CareManager(); m.AllowNewPatient = rand.Next(2) == 0; m.Birthday = DateTime.UtcNow.AddYears(-rand.Next(90)); m.BlogUrls = string.Format("http://example.com/foo/{0}/", n); m.Career = string.Format("ケアマネ会員が入力したキャリアです。{0}", n); m.CareHomeId = homeIds[rand.Next(homeIds.Count)]; m.CurrentPatients = rand.Next(100); m.Email = string.Format("care{0}@example.com", n); m.Gender = new[] { Gender.男性, Gender.女性 }[rand.Next(2)]; m.Licensed = DateTime.UtcNow.AddYears(-rand.Next(50)); m.Messages = string.Format("ケアマネ会員が入力したメッセージです。{0}", n); if (m.Gender == Gender.男性) { m.Name = string.Format("田中一郎{0}", n); } else { m.Name = string.Format("佐藤花子{0}", n); } m.Rating = 5.0 * rand.NextDouble(); m.ReviewsCount = rand.Next(1000); m.指導管理力 = 5.0 * rand.NextDouble(); m.公平中立力 = 5.0 * rand.NextDouble(); m.医療知識 = 5.0 * rand.NextDouble(); m.介護知識 = 5.0 * rand.NextDouble(); m.関係構築力 = 5.0 * rand.NextDouble(); m.企画立案力 = 5.0 * rand.NextDouble(); m.行動実践力 = 5.0 * rand.NextDouble(); var rows = new List <CareManagerLicenses>(); foreach (var id in licenseIds) { if (rand.NextDouble() > 0.8) { rows.Add(new CareManagerLicenses() { CareManager = m, LicenseId = id }); } } m.CareManagerLicenses = rows; db.CareManagers.Add(m); } db.SaveChanges(); Response.Write(string.Format("Populated. {0}ms", (DateTime.UtcNow - start).TotalMilliseconds)); return(null); }
public ActionResult DeleteConfirmed(int careManagerId) { CareManager caremanager = db.CareManagers.Find(careManagerId); db.CareManagers.Remove(caremanager); db.SaveChanges(); Log(LogType.CareHome, "所属するケアマネの情報を削除しました。"); return(RedirectToAction("Index")); }
// GET: /CareManager/Delete/5 public ActionResult Delete(int?careManagerId) { if (careManagerId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CareManager caremanager = db.CareManagers.Find(careManagerId); if (caremanager == null) { return(HttpNotFound()); } return(View(caremanager)); }
public ActionResult EditAdditionalData(CareManager model, HttpPostedFileBase file, List <int> Licenses) { var allow = "CurrentPatients,AllowNewPatient,Career,Messages,BlogUrls,ShowReviews,企画立案力,行動実践力,関係構築力,指導管理力,公平中立力,医療知識,介護知識"; // Removes fields from ModelState which are not incoming. var allowedFields = allow.Split(','); var fieldsToRemove = ModelState.Keys .Where(key => !allowedFields.Contains(key)) .ToList(); fieldsToRemove.ForEach(f => ModelState.Remove(f)); // Licenses if (Licenses == null) { Licenses = new List <int>(); } model.CareManagerLicenses.Clear(); foreach (var l in Licenses) { model.CareManagerLicenses.Add(new CareManagerLicenses() { LicenseId = l }); } if (ModelState.IsValid) { var careManager = CurrentUser.CareManager.FirstOrDefault(); if (careManager == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // Licenses db.CareManagerLicenses.RemoveRange(careManager.CareManagerLicenses); careManager.CareManagerLicenses = model.CareManagerLicenses; // Updates SQL model.CopyTo(ref careManager, allow); // Copies fields only which are incoding. db.SaveChanges(); Log(LogType.CareManager, "追加情報を更新しました。"); Flash("保存されました。"); } ViewBag.Licenses = new MultiSelectList(db.Licenses, "LicenseId", "Name", model.CareManagerLicenses.Select(l => l.LicenseId)); return(View(model)); }
public ActionResult Edit(string code, int?careManagerId) { if (code == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (careManagerId != null && !CurrentUser.CareHomes.Any(h => h.CareManagers.Any(c => c.CareManagerId == careManagerId))) { // Not owned return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var careManager = new CareManager(); if (careManagerId == null) { // Add var home = db.CareHomes.FirstOrDefault(h => h.CareHomeCode == code); if (home == null) { return(HttpNotFound()); } careManager.CareHomeId = home.CareHomeId; } else { // Edit careManager = db.CareManagers.FirstOrDefault(m => m.CareHome.CareHomeCode == code && m.CareManagerId == careManagerId); if (careManager == null) { return(HttpNotFound()); } } ViewBag.Gender = EnumHelper <Gender> .GetSelectList(careManager.Gender); ViewBag.Year = Helper.Helper.GetBirthdayYears(careManager.Birthday); ViewBag.Month = Helper.Helper.GetBirthdayMonths(careManager.Birthday); ViewBag.Day = Helper.Helper.GetBirthdayDays(careManager.Birthday); ViewBag.Licensed = Helper.Helper.GetLicensedYears(careManager.Licensed); return(View(careManager)); }
/// <summary> /// Serialize to a JSON object /// </summary> public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true) { if (includeStartObject) { writer.WriteStartObject(); } if (!string.IsNullOrEmpty(ResourceType)) { writer.WriteString("resourceType", (string)ResourceType !); } ((Fhir.R4.Models.DomainResource) this).SerializeJson(writer, options, false); if ((Identifier != null) && (Identifier.Count != 0)) { writer.WritePropertyName("identifier"); writer.WriteStartArray(); foreach (Identifier valIdentifier in Identifier) { valIdentifier.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if (!string.IsNullOrEmpty(Status)) { writer.WriteString("status", (string)Status !); } if (_Status != null) { writer.WritePropertyName("_status"); _Status.SerializeJson(writer, options); } if ((StatusHistory != null) && (StatusHistory.Count != 0)) { writer.WritePropertyName("statusHistory"); writer.WriteStartArray(); foreach (EpisodeOfCareStatusHistory valStatusHistory in StatusHistory) { valStatusHistory.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if ((Type != null) && (Type.Count != 0)) { writer.WritePropertyName("type"); writer.WriteStartArray(); foreach (CodeableConcept valType in Type) { valType.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if ((Diagnosis != null) && (Diagnosis.Count != 0)) { writer.WritePropertyName("diagnosis"); writer.WriteStartArray(); foreach (EpisodeOfCareDiagnosis valDiagnosis in Diagnosis) { valDiagnosis.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if (Patient != null) { writer.WritePropertyName("patient"); Patient.SerializeJson(writer, options); } if (ManagingOrganization != null) { writer.WritePropertyName("managingOrganization"); ManagingOrganization.SerializeJson(writer, options); } if (Period != null) { writer.WritePropertyName("period"); Period.SerializeJson(writer, options); } if ((ReferralRequest != null) && (ReferralRequest.Count != 0)) { writer.WritePropertyName("referralRequest"); writer.WriteStartArray(); foreach (Reference valReferralRequest in ReferralRequest) { valReferralRequest.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if (CareManager != null) { writer.WritePropertyName("careManager"); CareManager.SerializeJson(writer, options); } if ((Team != null) && (Team.Count != 0)) { writer.WritePropertyName("team"); writer.WriteStartArray(); foreach (Reference valTeam in Team) { valTeam.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if ((Account != null) && (Account.Count != 0)) { writer.WritePropertyName("account"); writer.WriteStartArray(); foreach (Reference valAccount in Account) { valAccount.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if (includeStartObject) { writer.WriteEndObject(); } }
public ActionResult Edit(string code, [Bind(Include = "CareManagerId,CareHomeId,Email,MediaFileDataId,Name,Gender,Age,Licensed,Licenses,CurrentPatients,AllowNewPatient,Career,Messages,BlogUrls,TotalRating,ReviewsCount,Rating,Birthday")] CareManager caremanager, HttpPostedFileBase file, int year, int month, int day) { // Checks file size. if (file != null && file.ContentLength > 200000) { ModelState.AddModelError("", "アップロードできる画像のサイズは200kBまでです。"); } // Sets Dec. 31th. caremanager.Birthday = new DateTime(year, month, day); caremanager.Licensed = new DateTime(caremanager.Licensed.Year, 12, 31); if (ModelState.IsValid) { // Uploads Image if (file != null) { BlobHelper.DeleteIfExists("mediafile", caremanager.MediaFileDataId); caremanager.MediaFileDataId = BlobHelper.Upload("mediafile", file, file.FileName); } // Adds / Edits record if (caremanager.CareManagerId == 0) { // Add db.CareManagers.Add(caremanager); var verification = new EmailVerification() { CareManager = caremanager, Email = caremanager.Email }; db.EmailVerifications.Add(verification); db.SaveChanges(); // Notifies CareManager to verify. //SendEmail(caremanager.Email, "[ケアマネ情報局] ケアマネ会員認証", "URL: " + Url.Action("Verify", "EmailVerification", new { verificationCode = verification.VerificationCode}, Request.Url.Scheme)); var added = db.CareManagers.Include(m => m.CareHome).FirstOrDefault(m => m.CareManagerId == caremanager.CareManagerId); dynamic email = new Postal.Email("CareManagerAdded"); email.To = added.Email; email.CareManagerName = added.Name; email.CareHomeName = added.CareHome.Name; email.CareHomeUserName = ""; if (added.CareHome.User != null) { email.CareHomeUserName = added.CareHome.User.Name; } email.VerificationUrl = Url.Action("Verify", "EmailVerification", new { verificationCode = verification.VerificationCode }, Request.Url.Scheme); email.SiteUrl = string.Format("{0}://{1}", Request.Url.Scheme, Request.Url.Authority); email.Send(); } else { // Edit var entry = db.Entry(caremanager); entry.State = EntityState.Unchanged; entry.Property(p => p.Email).IsModified = true; entry.Property(p => p.Name).IsModified = true; entry.Property(p => p.Gender).IsModified = true; entry.Property(p => p.Licensed).IsModified = true; entry.Property(p => p.Birthday).IsModified = true; if (file != null) { entry.Property(p => p.MediaFileDataId).IsModified = true; } db.SaveChanges(); } Log(LogType.CareHome, "所属するケアマネの情報を更新しました。"); return(RedirectToAction("Index")); } ViewBag.Gender = EnumHelper <Gender> .GetSelectList(caremanager.Gender); ViewBag.Year = Helper.Helper.GetBirthdayYears(caremanager.Birthday); ViewBag.Month = Helper.Helper.GetBirthdayMonths(caremanager.Birthday); ViewBag.Day = Helper.Helper.GetBirthdayDays(caremanager.Birthday); ViewBag.Licensed = Helper.Helper.GetLicensedYears(caremanager.Licensed); return(View(caremanager)); }