public async Task <Response <FormBantuanHukumResponse> > request(FormBantuanHukumRequest request) { Response <FormBantuanHukumResponse> response = new Response <FormBantuanHukumResponse> { }; var status = await this.uploadFile(request.File, string.Empty); if (status.Status) { return(this.bantuanHukumService.request(request, status.FileName)); } else { // Error file upload response.message_type = 2; response.message = string.IsNullOrWhiteSpace(status.FileName) ? "Attachment file mohon diisi":status.FileName; } return(response); }
public Response <FormBantuanHukumResponse> request(FormBantuanHukumRequest request, string fname) { Response <FormBantuanHukumResponse> response = new Response <FormBantuanHukumResponse>(); // Add New if (request.ID == 0) { var q = this.Db.LogEmails.Where(a => a.To == request.Email && a.Blocked == true); if (q.Count() > 0) { response.message_type = 2; response.message = "Maaf email anda termasuk dalam daftar blokir tidak bisa digunakan untuk pelaporan ini"; return(response); } // Get Country ID var findKewarganegaraan = this.Db.Countries.Where(a => a.CountryID == request.Kewarganegaraan); Country currentKewarganegaraan = new Country(); if (findKewarganegaraan.Count() > 0) { currentKewarganegaraan = findKewarganegaraan.First(); } // Get Status ' Sedang di Proses' var statusFind = this.Db.StatusBantuan.Where(a => a.ID == 1); StatusBantuan status = new StatusBantuan(); if (statusFind.Count() > 0) { status = statusFind.First(); } //string filename = string.Empty; string kodeLaporan = Guid.NewGuid().ToString().Substring(0, 5); var data = new data_access.entities.BantuanHukum { Agama = request.Agama, Email = request.Email, Identitas = request.Identitas, IsiPermohonan = request.IsiPermohonan, JenisKelamin = request.JenisKelamin, Kewarganegaraan = currentKewarganegaraan, NamaLengkap = request.NamaLengkap, NoIdentitas = request.NoIdentitas, Pekerjaan = request.Pekerjaan, Telpn = request.Telpn, Umur = request.Umur, FileName = fname, LastStatus = status, CreatedDate = DateTime.Now, KodeLaporan = kodeLaporan }; this.Db.BantuanHukum.Add(data); this.Db.SaveChanges(); // Generate Kode Laporan 'Update' var datas = this.Db.BantuanHukum.Where(a => a.ID == data.ID); if (datas.Count() > 0) { data = datas.First(); data.KodeLaporan = kodeLaporan + data.ID; data.LastStatus = status; // Update Last Status Pengaduan this.Db.BantuanHukum.Update(data); this.Db.SaveChanges(); } // Create Conversation // Copy Message from header to Activity with Status this.createConversation(data.KodeLaporan, 0, request.IsiPermohonan, status.ID, "user_" + data.KodeLaporan, string.Empty); // Get Template Email var template = this.getTemplate(TemplateEmailConstanta.EMAIL_BALASAN_AWAL_LAPORAN); string body = template.Message; body = body.Replace("{NAMALENGKAP}", request.NamaLengkap).Replace("{KODELAPORAN}", data.KodeLaporan); // Send Email var email = this.createEmail(template.Title, request.Email, body).GetAwaiter().GetResult(); response.data = new FormBantuanHukumResponse { ID = data.ID, KodeLaporan = data.KodeLaporan }; } return(response); }