public int Insert(OpdModel model) { int i = 0; using (EHMSEntities ent = new EHMSEntities()) { var objTosaveOpdMaster = AutoMapper.Mapper.Map <OpdModel, OpdMaster>(model); objTosaveOpdMaster.CreatedBy = Utility.GetCurrentLoginUserId(); objTosaveOpdMaster.CreatedDate = DateTime.Now; objTosaveOpdMaster.Status = true; objTosaveOpdMaster.DepartmentId = 4; objTosaveOpdMaster.DepartmentPatientId = null; objTosaveOpdMaster.RegistrationDate = DateTime.Now; objTosaveOpdMaster.RegistrationMode = "Visit"; objTosaveOpdMaster.RegistrationSource = "Opd"; ent.OpdMasters.Add(objTosaveOpdMaster); //OpdpatientDoctorDetails foreach (var item in model.OpdDoctorList) { model.OpdPatientDoctorDetailsModel = new OpdPatientDoctorDetailsModel(); var objTosaveOpdDoctorList = AutoMapper.Mapper.Map <OpdPatientDoctorDetailsModel, OpdPatientDoctorDetail>(model.OpdPatientDoctorDetailsModel); objTosaveOpdDoctorList.DoctorID = item.DoctorID; objTosaveOpdDoctorList.DepartmentID = item.DepartmentID; objTosaveOpdDoctorList.OpdID = objTosaveOpdMaster.OpdID; objTosaveOpdDoctorList.PreferDate = item.PreferDate; objTosaveOpdDoctorList.PreferTime = item.PreferTime; objTosaveOpdDoctorList.RegistrationDate = objTosaveOpdMaster.RegistrationDate; ent.OpdPatientDoctorDetails.Add(objTosaveOpdDoctorList); } //opdfeedetails //var objTosaveFeedetails = AutoMapper.Mapper.Map<OpdFeeDetailsModel, OpdFeeDetails>(model.OpdFeeDetailsModel); // decimal? aa = objTosaveFeedetails.DoctorFee; //objTosaveFeedetails.OpdID = objTosaveOpdMaster.OpdID; //objTosaveFeedetails.FeeDate = objTosaveOpdMaster.RegistrationDate; //objTosaveFeedetails.OtherDiscountPercentage = 0; //ent.OpdFeeDetails.Add(objTosaveFeedetails); //Legder&Transaction string LedgerName = "A/C " + model.FirstName + " " + (model.MiddleName + " " ?? string.Empty) + model.LastName; //Opd master max id int?intIdt = ent.OpdMasters.Max(u => (int?)u.OpdID); if (intIdt == null) { intIdt = 1; } else { intIdt = intIdt + 1; } var objToSavePatientLogMaster = new PatientLogMaster() { //PatientId = ent.OpdMaster.Max(a => a.OpdID+1), PatientId = intIdt.GetValueOrDefault() + 1, RegistrationDate = Convert.ToDateTime(objTosaveOpdMaster.RegistrationDate), DepartmentId = 13,//medical report Status = true }; ent.PatientLogMasters.Add(objToSavePatientLogMaster); //Patient logmaster max id int?intPatientLogID = ent.PatientLogMasters.Max(u => (int?)u.OpdMasterLogId); if (intPatientLogID == null) { intPatientLogID = 1; } else { intPatientLogID = intPatientLogID + 1; } int BillNumberInt = Utility.GetMaxBillNumberFromDepartment("Opd", 1); string BillNumberStr = "BL-" + BillNumberInt.ToString(); var objtoInsertLedger = new GL_LedgerMaster() { AccountGroupID = 1, AccountSubGroupID = 1, AccountTypeID = 1, CreatedBy = Utility.GetCurrentLoginUserId(), CreatedDate = DateTime.Now, DepartmentID = 13,//medical report LedgerName = LedgerName, //SourceID = ent.OpdMaster.Max(a => a.OpdID+1), SourceID = intIdt, LedgerSourceType = "Patient", Status = 1 }; ent.GL_LedgerMaster.Add(objtoInsertLedger); //LedgerMasterId Max Id int?LedgetMasterId = ent.GL_LedgerMaster.Max(u => (int?)u.LedgerMasterID); if (LedgetMasterId == null) { LedgetMasterId = 1; } else { LedgetMasterId = LedgetMasterId + 1; } var objToInsertTran = new GL_Transaction() { Amount = model.OpdMedicalDetailModel.Amount, DepartmentID = 13,//medical report Dr_Cr = "Cr", LedgerMasterID = objtoInsertLedger.LedgerMasterID, Narration1 = "Medical Charge", //RefNo = ent.OpdMaster.Max(a => a.OpdID+1), RefNo = intIdt, TransactionDate = DateTime.Now, TransactionTypeID = 1, FeeTypeId = 17, PatientLogId = (int)intPatientLogID, CreatedDate = DateTime.Now, CreatedBy = HospitalManagementSystem.Utility.GetCurrentLoginUserId(), //VoucherNo = Utility.getMaxVoucherNumber(1, 1) }; ent.GL_Transaction.Add(objToInsertTran); var OpdMedicalDetailInsert = new OpdMedicalDetail() { OpdMasterId = objTosaveOpdMaster.OpdID, ManPowerId = model.OpdMedicalDetailModel.ManPowerId, AgentId = model.OpdMedicalDetailModel.AgentId, PreHolo = model.OpdMedicalDetailModel.PreHolo, Amount = model.OpdMedicalDetailModel.Amount, Discount = model.OpdMedicalDetailModel.Discount, Commission = model.OpdMedicalDetailModel.Commission, CreatedDate = objTosaveOpdMaster.RegistrationDate, CreatedBy = objTosaveOpdMaster.CreatedBy, status = 1 }; ent.OpdMedicalDetails.Add(OpdMedicalDetailInsert); var objtoSaveCentralizedBilling = new CentralizedBilling() { AccountHeadId = 17, Amount = model.OpdMedicalDetailModel.Amount, AmountDate = DateTime.Now, PaymentType = "Cash", Narration1 = "Fee Details", DepartmentName = "Opd", SubDepartmentId = Utility.GetCurrentUserDepartmentId(), BillNumber = BillNumberStr, LedgerMasterId = (int)LedgetMasterId, PatientLogId = (int)intPatientLogID, PatientId = (int)intIdt, JVStatus = false, CreatedBy = Utility.GetCurrentLoginUserId(), CreatedDepartmentId = Utility.GetCurrentUserDepartmentId(), CreatedDate = DateTime.Now, Remarks = "Opd Medical Records", PaidOnPaid = false, Status = true }; ent.CentralizedBillings.Add(objtoSaveCentralizedBilling); //update Bill Number SetupHospitalBillNumber billNumber = (from x in ent.SetupHospitalBillNumbers where x.DepartmentName == "Opd" && x.FiscalYearId == 1 select x).First(); billNumber.BillNumber = billNumber.BillNumber + 1; //update vouchernumber //SetupVoucherNumber vouchernumber = (from x in ent.SetupVoucherNumber // where x.DepartmentID == 1 && x.FiscalYear == 1 // select x).First(); //vouchernumber.VoucherNo = vouchernumber.VoucherNo + 1; i = ent.SaveChanges(); return(i); } }
public int Insert(EmergecyMasterModel model) { int i = 0; using (EHMSEntities ent = new EHMSEntities()) { int maxemerid; var query = ent.EmergencyMasters.Where(m => m.EmergencyMasterId == ent.EmergencyMasters.Max(n => n.EmergencyMasterId)).SingleOrDefault(); if (query == null) { maxemerid = 1; } else { maxemerid = query.EmergencyMasterId + 1; } var objToSaveOpd = new OpdMaster() { PatientTitle = model.ObjOpdMaster.PatientTitle, FirstName = model.ObjOpdMaster.FirstName, MiddleName = model.ObjOpdMaster.MiddleName, LastName = model.ObjOpdMaster.LastName, Sex = model.ObjOpdMaster.Sex, AgeYear = model.ObjOpdMaster.AgeYear, MaritalStatus = model.ObjOpdMaster.MaritalStatus, BloodGroup = model.ObjOpdMaster.BloodGroup, RegistrationDate = DateTime.Now, RegistrationSource = "Emer", CreatedBy = HospitalManagementSystem.Utility.GetCurrentLoginUserId(), DepartmentId = Utility.GetCurrentUserDepartmentId(), DepartmentPatientId = maxemerid, CreatedDate = DateTime.Now, RegistrationMode = "Visit", Address = model.ObjOpdMaster.Address, Status = true, PaidOnPaid = true, CountryID = model.ObjOpdMaster.CountryID }; ent.OpdMasters.Add(objToSaveOpd); ent.SaveChanges(); var objToSave = AutoMapper.Mapper.Map <EmergecyMasterModel, EmergencyMaster>(model); try { objToSave.OpdMasterId = maxemerid; objToSave.EmergencyNumber = maxemerid; objToSave.SerialNumber = maxemerid; objToSave.CreatedBy = HospitalManagementSystem.Utility.GetCurrentLoginUserId(); objToSave.Status = 1; objToSave.CreatedDate = DateTime.Today; objToSave.OutcomeTypeId = 1; objToSave.OpdMasterId = objToSaveOpd.OpdID; ent.EmergencyMasters.Add(objToSave); ent.SaveChanges(); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } var objtosavedetails = AutoMapper.Mapper.Map <EmergencyTriageModel, EmergencyTriage>(model.EmergencyTriageModel); objtosavedetails.EmergencyMasterId = objToSave.EmergencyMasterId; objtosavedetails.sourceTypeId = 1; objtosavedetails.SourceId = 1; objtosavedetails.TriageLevel = 1; ent.EmergencyTriages.Add(objtosavedetails); //feedetails var objTosaveFeedetails = AutoMapper.Mapper.Map <EmergencyFeeDetailsModel, EmergencyFeeDetail>(model.EmergencyFeeDetailsModel); // decimal? aa = objTosaveFeedetails.DoctorFee; objTosaveFeedetails.EmergencyMasterId = objToSave.EmergencyMasterId; objTosaveFeedetails.FeeDate = objToSave.CreatedDate; objTosaveFeedetails.OtherDiscountPercentage = 0; objTosaveFeedetails.DoctorFee = 0; objTosaveFeedetails.RegistrationFee = model.EmergencyFeeDetailsModel.RegistrationFee; objTosaveFeedetails.TotalAmount = model.EmergencyFeeDetailsModel.RegistrationFee; ent.EmergencyFeeDetails.Add(objTosaveFeedetails); //Legder&Transaction string LedgerName = "A/C " + model.ObjOpdMaster.FirstName + " " + (model.ObjOpdMaster.MiddleName + " " ?? string.Empty) + model.ObjOpdMaster.LastName; var objtoInsertLedger = new GL_LedgerMaster() { AccountGroupID = 1, AccountSubGroupID = 1, AccountTypeID = 1, CreatedBy = Utility.GetCurrentLoginUserId(), CreatedDate = DateTime.Now, DepartmentID = 1001, LedgerName = LedgerName, SourceID = objToSaveOpd.OpdID, LedgerSourceType = "Patient", Status = 1 }; ent.GL_LedgerMaster.Add(objtoInsertLedger); ent.SaveChanges(); var objToSavePatientLogMaster = new PatientLogMaster() { PatientId = objToSaveOpd.OpdID, RegistrationDate = Convert.ToDateTime(objToSave.CreatedDate), DepartmentId = 1001, Status = true }; ent.PatientLogMasters.Add(objToSavePatientLogMaster); ent.SaveChanges(); //Patient logmaster max id int?intPatientLogID = objToSavePatientLogMaster.OpdMasterLogId; //if (intPatientLogID == null) //{ // intPatientLogID = 1; //} //else //{ // intPatientLogID = intPatientLogID; //} int BillNumberInt = Utility.GetMaxBillNumberFromDepartment("Hospital", 1); string BillNumberStr = "BL-" + BillNumberInt.ToString(); //Insert into new table //Emergency Ticket var ObjCentralizedBillingDetails = new CentralizedBillingDetail() { BillNo = BillNumberInt, AccountHeadID = 357,//Emergency Ticket Amount = Convert.ToDecimal(404), Status = true, DepartmentId = 1001, Times = 1 }; ent.CentralizedBillingDetails.Add(ObjCentralizedBillingDetails); var ObjCentralizedBillingDetailstax = new CentralizedBillingDetail() { BillNo = BillNumberInt, AccountHeadID = 1261,//Emergency Ticket Amount = Convert.ToDecimal(20.2), Status = true, DepartmentId = 1001, Times = 1 }; ent.CentralizedBillingDetails.Add(ObjCentralizedBillingDetailstax); var ObjCentralizedBillingPaymentType = new CentralizedBillingPaymentType() { BillNo = BillNumberInt, PaymentTypeID = 372,//Cash or bank from coa PaymentSubTypeID = 0, Amount = model.EmergencyFeeDetailsModel.RegistrationFee, Status = true }; ent.CentralizedBillingPaymentTypes.Add(ObjCentralizedBillingPaymentType); var ObjCentralizedBillingMaster = new CentralizedBillingMaster() { BillNo = BillNumberInt, BillDate = DateTime.Today, TotalBillAmount = model.EmergencyFeeDetailsModel.RegistrationFee, TotalDiscountID = 0, TotalDiscountAmount = 0, Narration1 = "Narraion", Narration2 = "", DepartmentName = "Emergency", SubDepartmentId = 1, PatientLogId = (int)intPatientLogID, PatientId = objToSaveOpd.OpdID, //JVNumber=1 JVStatus = false, CreatedDepartmentId = HospitalManagementSystem.Utility.GetCurrentUserDepartmentId(), CreatedBy = HospitalManagementSystem.Utility.GetCurrentLoginUserId(), CreatedDate = DateTime.Now, Remarks = "Emergency", Status = true, BranchId = 1, IsHandover = false, ReceiptId = 0, ReturnedAmount = Convert.ToDecimal(0), TenderAmount = Convert.ToDecimal(0) }; ent.CentralizedBillingMasters.Add(ObjCentralizedBillingMaster); var objtoSaveCentralizedBilling = new CentralizedBilling() { AccountHeadId = 19, Amount = model.EmergencyFeeDetailsModel.RegistrationFee, AmountDate = DateTime.Now, PaymentType = "Cash", Narration1 = "Fee Details", Narration2 = "Emergecy Fee", DepartmentName = "Emergency", SubDepartmentId = Utility.GetCurrentUserDepartmentId(), BillNumber = BillNumberStr, LedgerMasterId = objtoInsertLedger.LedgerMasterID, PatientLogId = (int)intPatientLogID, PatientId = objToSaveOpd.OpdID, JVStatus = false, CreatedBy = Utility.GetCurrentLoginUserId(), CreatedDepartmentId = Utility.GetCurrentUserDepartmentId(), CreatedDate = DateTime.Now, Remarks = "Emergency", PaidOnPaid = false, Status = true }; ent.CentralizedBillings.Add(objtoSaveCentralizedBilling); var objToInsertTran = new GL_Transaction() { Amount = model.EmergencyFeeDetailsModel.RegistrationFee, DepartmentID = 1001, Dr_Cr = "Cr", LedgerMasterID = objtoInsertLedger.LedgerMasterID, Narration1 = "Emergency Fee", RefNo = maxemerid, TransactionDate = DateTime.Now, TransactionTypeID = 1, FeeTypeId = 19,//emergency fee CreatedBy = HospitalManagementSystem.Utility.GetCurrentLoginUserId(), CreatedDate = DateTime.Now, }; ent.GL_Transaction.Add(objToInsertTran); //update Bill Number SetupHospitalBillNumber billNumber = (from x in ent.SetupHospitalBillNumbers where x.DepartmentName == "Hospital" && x.FiscalYearId == 1 select x).First(); billNumber.BillNumber = billNumber.BillNumber + 1; //update vouchernumber //SetupVoucherNumber vouchernumber = (from x in ent.SetupVoucherNumber // where x.DepartmentID == 1 && x.FiscalYear == 1 // select x).First(); //vouchernumber.VoucherNo = vouchernumber.VoucherNo + 1; i = ent.SaveChanges(); } return(i); }