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(DepositMasterModel model) { using (EHMSEntities ent = new EHMSEntities()) { //Insert into CA Table //If User already exist, dont insert //check if user has alreary accountheadcode in opdmaster //Get Currnet receipt number int UserReceiptNumber = Utility.GetMaxBillNumberFromDepartment("Deposit", 1); int UserAccountHeadIdInt = 0; var userAccountHeadId = ent.OpdMasters.Where(x => x.OpdID == model.PatientId).FirstOrDefault(); if (userAccountHeadId.AccountHeadId != null) { UserAccountHeadIdInt = (int)userAccountHeadId.AccountHeadId; } var ObjGlAccSubGroup = new GL_AccSubGroups(); if (UserAccountHeadIdInt > 0) { } else { ObjGlAccSubGroup = new GL_AccSubGroups() { AccGroupID = 2, AccSubGroupName = HospitalManagementSystem.Utility.GetPatientNameWithIdFromOpd(model.PatientId), ParentID = 1258, HierarchyCode = "2.1253.1257.1258", HeadLevel = 5, AccountCode = null, IsLeafLevel = true, Status = true, CreatedBy = HospitalManagementSystem.Utility.GetCurrentLoginUserId(), CreatedDate = DateTime.Now, Remarks = "Deposit", BranchId = 1 }; ent.GL_AccSubGroups.Add(ObjGlAccSubGroup); ent.SaveChanges(); UserAccountHeadIdInt = ObjGlAccSubGroup.AccSubGruupID; } //Update in opdmaster table OpdMaster AccountHeadId = (from x in ent.OpdMasters where x.OpdID == model.PatientId select x).First(); AccountHeadId.AccountHeadId = UserAccountHeadIdInt; var SaveDepositMaster = AutoMapper.Mapper.Map <DepositMasterModel, PatientDepositMaster>(model); SaveDepositMaster.CreatedBy = Utility.GetCurrentLoginUserId(); SaveDepositMaster.CreatedDate = DateTime.Now; SaveDepositMaster.CreatedDepartmentId = Utility.GetCurrentUserDepartmentId(); SaveDepositMaster.Status = true; SaveDepositMaster.SwipeCardId = "NN009"; SaveDepositMaster.ReceiptID = UserReceiptNumber; SaveDepositMaster.SwipeCardDetail = "ScardDetails"; ent.PatientDepositMasters.Add(SaveDepositMaster); //Get Currrent Receipt Number int ReceiptNumberInt = Utility.GetMaxBillNumberFromDepartment("Hospital", 1); var ObjCentralizedBillingMaster = new CentralizedBillingMaster() { BillNo = ReceiptNumberInt, BillDate = DateTime.Now, TotalBillAmount = model.DepositedAmount, Narration1 = "Deposit", Narration2 = "", DepartmentName = "CB", SubDepartmentId = 1, PatientLogId = HospitalManagementSystem.Utility.getPatientLogID(model.PatientId), PatientId = model.PatientId, CreatedDepartmentId = HospitalManagementSystem.Utility.GetCurrentUserDepartmentId(), CreatedBy = HospitalManagementSystem.Utility.GetCurrentLoginUserId(), CreatedDate = DateTime.Now, Remarks = "Deposit", Status = true, BranchId = 1, JVStatus = false, ReceiptId = Utility.GetMaxDepositeNumber(), IsHandover = false, ReturnedAmount = Convert.ToDecimal(0), TenderAmount = Convert.ToDecimal(0), TotalDiscountAmount = Convert.ToDecimal(0), TotalDiscountID = 0, PayableType = 1//general }; ent.CentralizedBillingMasters.Add(ObjCentralizedBillingMaster); var ObjCentralizedBillingDetails = new CentralizedBillingDetail() { BillNo = ReceiptNumberInt, AccountHeadID = 1258, //deposit AccountSubHeadID = UserAccountHeadIdInt, //patientId Amount = model.DepositedAmount, Status = true, DepartmentId = 1003//Ipd Department }; ent.CentralizedBillingDetails.Add(ObjCentralizedBillingDetails); var ObjCentralizedBillingPaymentType = new CentralizedBillingPaymentType() { BillNo = ReceiptNumberInt, PaymentTypeID = 372, Amount = model.DepositedAmount, Status = true, PaymentSubTypeID = Convert.ToInt32(0) }; ent.CentralizedBillingPaymentTypes.Add(ObjCentralizedBillingPaymentType); //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; ent.SaveChanges(); //update Bill Number SetupHospitalBillNumber billNumberDeposit = (from x in ent.SetupHospitalBillNumbers where x.DepartmentName == "Deposit" && x.FiscalYearId == 1 select x).First(); billNumberDeposit.BillNumber = billNumberDeposit.BillNumber + 1; ent.SaveChanges(); return(SaveDepositMaster.PatientDepositMasterId); } }
public void Insert(PatientTestModel model) { using (EHMSEntities ent = new EHMSEntities()) { int PatientDepartmentId = 0; var GetSourceIdFromOpdEmrID = 0; if (model.DepartmentID == 1000)//opd { //get user original departmentId var patientDeptId = ent.OpdMasters.Where(m => m.OpdID == model.PatientInformationModel.EmergencyMasterId).FirstOrDefault().DepartmentId; PatientDepartmentId = Convert.ToInt32(patientDeptId); GetSourceIdFromOpdEmrID = ent.GL_LedgerMaster.Where(m => m.SourceID == model.PatientInformationModel.EmergencyMasterId && m.DepartmentID == PatientDepartmentId).Select(m => m.LedgerMasterID).FirstOrDefault(); } else if (model.DepartmentID == 1001)//emergency { var patientDeptId = ent.OpdMasters.Where(m => m.OpdID == model.PatientInformationModel.EmergencyMasterId).FirstOrDefault().DepartmentId; PatientDepartmentId = Convert.ToInt32(patientDeptId); GetSourceIdFromOpdEmrID = ent.GL_LedgerMaster.Where(m => m.SourceID == model.PatientInformationModel.EmergencyMasterId && m.DepartmentID == PatientDepartmentId).Select(m => m.LedgerMasterID).FirstOrDefault(); } else//ipd { var patientDeptId = ent.OpdMasters.Where(m => m.OpdID == model.PatientInformationModel.EmergencyMasterId).FirstOrDefault().DepartmentId; PatientDepartmentId = Convert.ToInt32(patientDeptId); GetSourceIdFromOpdEmrID = ent.GL_LedgerMaster.Where(m => m.SourceID == model.PatientInformationModel.EmergencyMasterId && m.DepartmentID == PatientDepartmentId).Select(m => m.LedgerMasterID).FirstOrDefault(); } var objTosavePatientTest = AutoMapper.Mapper.Map <PatientTestModel, PatientTest>(model); objTosavePatientTest.PatientID = model.PatientInformationModel.EmergencyMasterId; objTosavePatientTest.TestRegistrationDate = DateTime.Now; objTosavePatientTest.ReferDoctorID = model.ReferDoctorID; objTosavePatientTest.DepartmentID = PatientDepartmentId; objTosavePatientTest.Status = true; ent.PatientTests.Add(objTosavePatientTest); ent.SaveChanges(); //ent.SaveChanges(); foreach (var item in model.TestCheckBoxListModelList) { //if (item.isSelected == true) //{ model.PatientTestDetailModel = new PatientTestDetailModel(); var objToSavePatientTestDetails = AutoMapper.Mapper.Map <PatientTestDetailModel, PatientTestDetail>(model.PatientTestDetailModel); objToSavePatientTestDetails.PatientID = model.PatientInformationModel.EmergencyMasterId; objToSavePatientTestDetails.PatientTestID = objTosavePatientTest.PatientTestID; //objToSavePatientTestDetails.DepartmentID = model.DepartmentID; objToSavePatientTestDetails.DepartmentID = PatientDepartmentId; objToSavePatientTestDetails.SectionID = item.SectionId; objToSavePatientTestDetails.TestID = item.TestId; objToSavePatientTestDetails.TestDate = DateTime.Now; //objToSavePatientTestDetails.TestTime = item.TestTime; //objToSavePatientTestDetails.DeliveryDate = item.DeliveryDate; objToSavePatientTestDetails.Amount = (decimal)item.Price; objToSavePatientTestDetails.Discount = item.DiscountPer; objToSavePatientTestDetails.TotalAmount = (decimal)item.Price - item.DiscountPer; objToSavePatientTestDetails.DeliveryStatus = false; ent.PatientTestDetails.Add(objToSavePatientTestDetails); //for times if (item.Tim > 1) { for (int i = 0; i < item.Tim - 1; i++) { var objTosavePatientTestforTim = AutoMapper.Mapper.Map <PatientTestModel, PatientTest>(model); objTosavePatientTestforTim.PatientID = model.PatientInformationModel.EmergencyMasterId; objTosavePatientTestforTim.TestRegistrationDate = DateTime.Now; objTosavePatientTestforTim.ReferDoctorID = model.ReferDoctorID; objTosavePatientTestforTim.DepartmentID = PatientDepartmentId; objTosavePatientTestforTim.Status = true; ent.PatientTests.Add(objTosavePatientTestforTim); model.PatientTestDetailModel = new PatientTestDetailModel(); var objToSavePatientTestDetailsForTim = AutoMapper.Mapper.Map <PatientTestDetailModel, PatientTestDetail>(model.PatientTestDetailModel); objToSavePatientTestDetailsForTim.PatientID = model.PatientInformationModel.EmergencyMasterId; objToSavePatientTestDetailsForTim.PatientTestID = objTosavePatientTestforTim.PatientTestID; //objToSavePatientTestDetails.DepartmentID = model.DepartmentID; objToSavePatientTestDetailsForTim.DepartmentID = PatientDepartmentId; objToSavePatientTestDetailsForTim.SectionID = item.SectionId; objToSavePatientTestDetailsForTim.TestID = item.TestId; objToSavePatientTestDetailsForTim.TestDate = DateTime.Now; //objToSavePatientTestDetails.TestTime = item.TestTime; //objToSavePatientTestDetails.DeliveryDate = item.DeliveryDate; objToSavePatientTestDetailsForTim.Amount = (decimal)item.Price; objToSavePatientTestDetailsForTim.Discount = item.DiscountPer; objToSavePatientTestDetailsForTim.TotalAmount = (decimal)item.Price - item.DiscountPer; objToSavePatientTestDetailsForTim.DeliveryStatus = false; ent.PatientTestDetails.Add(objToSavePatientTestDetailsForTim); ent.SaveChanges(); } } // } } //added by Gopal on April 4 2014-Centralized Billing int BillNumberInt = Utility.GetMaxBillNumberFromDepartment("Hospital", 1); string BillNumberStr = "BL-" + BillNumberInt.ToString(); foreach (var item in model.TestCheckBoxListModelList) { //Rate var objCentralizedBilling = new CentralizedBilling() { AccountHeadId = 15, Amount = (decimal)item.Rate, AmountDate = DateTime.Now, PaymentType = "Cash", Narration1 = item.TestName, DepartmentName = "Patho", SubDepartmentId = PatientDepartmentId, BillNumber = BillNumberStr, LedgerMasterId = GetSourceIdFromOpdEmrID, PatientId = model.PatientInformationModel.EmergencyMasterId, PatientLogId = HospitalManagementSystem.Utility.getPatientLogID(model.PatientInformationModel.EmergencyMasterId), JVStatus = false, CreatedBy = Utility.GetCurrentLoginUserId(), CreatedDepartmentId = Utility.GetCurrentUserDepartmentId(), CreatedDate = DateTime.Now, Remarks = "NA", Status = true, PaidOnPaid = true, Narration2 = item.Tim.ToString(), ItemID = item.TestId }; ent.CentralizedBillings.Add(objCentralizedBilling); //item wise tax objCentralizedBilling = new CentralizedBilling() { AccountHeadId = 16, Amount = (decimal)item.TaxAmount, AmountDate = DateTime.Now, PaymentType = "Cash", Narration1 = item.TestName, DepartmentName = "Patho", SubDepartmentId = PatientDepartmentId, BillNumber = BillNumberStr, LedgerMasterId = GetSourceIdFromOpdEmrID, PatientId = model.PatientInformationModel.EmergencyMasterId, PatientLogId = HospitalManagementSystem.Utility.getPatientLogID(model.PatientInformationModel.EmergencyMasterId), JVStatus = false, CreatedBy = Utility.GetCurrentLoginUserId(), CreatedDepartmentId = Utility.GetCurrentUserDepartmentId(), CreatedDate = DateTime.Now, Remarks = "NA", Status = true, PaidOnPaid = true, Narration2 = item.Tim.ToString(), ItemID = item.TestId }; ent.CentralizedBillings.Add(objCentralizedBilling); //item wise discount objCentralizedBilling = new CentralizedBilling() { AccountHeadId = 22, Amount = (decimal)item.DiscountPer, AmountDate = DateTime.Now, PaymentType = "Cash", Narration1 = item.TestName, DepartmentName = "Patho", SubDepartmentId = PatientDepartmentId, BillNumber = BillNumberStr, LedgerMasterId = GetSourceIdFromOpdEmrID, PatientId = model.PatientInformationModel.EmergencyMasterId, PatientLogId = HospitalManagementSystem.Utility.getPatientLogID(model.PatientInformationModel.EmergencyMasterId), JVStatus = false, CreatedBy = Utility.GetCurrentLoginUserId(), CreatedDepartmentId = Utility.GetCurrentUserDepartmentId(), CreatedDate = DateTime.Now, Remarks = "NA", Status = true, PaidOnPaid = true, Narration2 = item.Tim.ToString(), ItemID = item.TestId }; ent.CentralizedBillings.Add(objCentralizedBilling); } //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 == 1002 && x.FiscalYear == 1 // select x).First(); //vouchernumber.VoucherNo = vouchernumber.VoucherNo + 1; ent.SaveChanges(); } }
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); }