// GET: Doctors/Edit/5
        public async Task <ActionResult> DoctorEdit(Guid?id, Guid?Patient_Id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Doctor doctor = await db.Doctors.FindAsync(id);

            if (doctor == null)
            {
                return(HttpNotFound());
            }
            var doctors = db.Doctors.Include(d => d.Branch);
            DoctorViewModelForInvoice DoctorViewModelForInvoice = new DoctorViewModelForInvoice();

            DoctorViewModelForInvoice.Id                    = doctor.Id;
            DoctorViewModelForInvoice.DoctorName            = doctor.DoctorName;
            DoctorViewModelForInvoice.Qualification         = doctor.Qualification;
            DoctorViewModelForInvoice.Hospital              = doctor.Hospital;
            DoctorViewModelForInvoice.Type                  = doctor.Type;
            DoctorViewModelForInvoice.Remarks               = doctor.Remarks;
            DoctorViewModelForInvoice.Branch                = doctor.Branch;
            DoctorViewModelForInvoice.BranchId              = doctor.BranchId;
            DoctorViewModelForInvoice.CommissionRate        = doctor.CommissionRate;
            DoctorViewModelForInvoice.DoctorCode            = doctor.DoctorCode;
            DoctorViewModelForInvoice.Patient_Id            = Patient_Id;
            DoctorViewModelForInvoice.NewPatientFee         = doctor.NewPatientFee;
            DoctorViewModelForInvoice.OldPatientFee         = doctor.OldPatientFee;
            DoctorViewModelForInvoice.OldPatientFeeDuration = doctor.OldPatientFeeDuration;
            DoctorViewModelForInvoice.Doctors               = await doctors.ToListAsync();

            ViewBag.BranchId = new SelectList(db.Branches, "Id", "BranchName", doctor.BranchId);
            return(View(DoctorViewModelForInvoice));
        }
        public async Task <ActionResult> DoctorCreation(Guid Patient_Id)
        {
            ViewBag.BranchId = new SelectList(db.Branches, "Id", "BranchName");
            var doctors = db.Doctors.Include(d => d.Branch);
            DoctorViewModelForInvoice DoctorViewModelForInvoice = new DoctorViewModelForInvoice();

            DoctorViewModelForInvoice.Doctors = await doctors.ToListAsync();

            DoctorViewModelForInvoice.Patient_Id = Patient_Id;
            return(View(DoctorViewModelForInvoice));
        }
        public ActionResult DoctorCreation(DoctorViewModelForInvoice DoctorViewModelForInvoice)
        {
            Doctor Doctor = new Doctor();



            Doctor.DoctorName            = DoctorViewModelForInvoice.DoctorName;
            Doctor.Qualification         = DoctorViewModelForInvoice.Qualification;
            Doctor.Hospital              = DoctorViewModelForInvoice.Hospital;
            Doctor.Type                  = DoctorViewModelForInvoice.Type;
            Doctor.Remarks               = DoctorViewModelForInvoice.Remarks;
            Doctor.Branch                = DoctorViewModelForInvoice.Branch;
            Doctor.BranchId              = DoctorViewModelForInvoice.BranchId;
            Doctor.CommissionRate        = DoctorViewModelForInvoice.CommissionRate;
            Doctor.DoctorCode            = DoctorViewModelForInvoice.DoctorCode;
            Doctor.NewPatientFee         = DoctorViewModelForInvoice.NewPatientFee;
            Doctor.OldPatientFee         = DoctorViewModelForInvoice.OldPatientFee;
            Doctor.OldPatientFeeDuration = DoctorViewModelForInvoice.OldPatientFeeDuration;
            if (ModelState.IsValid)
            {
                if (ModelState.IsValid)
                {
                    Doctor.Id = Guid.NewGuid();

                    var counter = db.Doctors.Max(x => x.DoctorCode) + 1;
                    if (counter == null)
                    {
                        counter = 1;
                    }
                    Doctor.DoctorCode = counter;
                    db.Doctors.Add(Doctor);
                    db.SaveChanges();


                    return(RedirectToAction("InvoiceCreate", new
                    {
                        Patient_Id = DoctorViewModelForInvoice.Patient_Id,
                        Doctor_Id = Doctor.Id
                    }));
                }
            }

            ViewBag.BranchId = new SelectList(db.Branches, "Id", "BranchName");
            var doctors = db.Doctors.Include(d => d.Branch);

            DoctorViewModelForInvoice.Doctors = doctors.ToList();
            return(View(DoctorViewModelForInvoice));
        }
        public ActionResult DoctorEdit(DoctorViewModelForInvoice DoctorViewModelForInvoice)
        {
            Doctor Doctor = new Doctor();


            Doctor.Id                    = DoctorViewModelForInvoice.Id;
            Doctor.DoctorName            = DoctorViewModelForInvoice.DoctorName;
            Doctor.Qualification         = DoctorViewModelForInvoice.Qualification;
            Doctor.Hospital              = DoctorViewModelForInvoice.Hospital;
            Doctor.Type                  = DoctorViewModelForInvoice.Type;
            Doctor.Remarks               = DoctorViewModelForInvoice.Remarks;
            Doctor.Branch                = DoctorViewModelForInvoice.Branch;
            Doctor.BranchId              = DoctorViewModelForInvoice.BranchId;
            Doctor.CommissionRate        = DoctorViewModelForInvoice.CommissionRate;
            Doctor.DoctorCode            = DoctorViewModelForInvoice.DoctorCode;
            Doctor.NewPatientFee         = DoctorViewModelForInvoice.NewPatientFee;
            Doctor.OldPatientFee         = DoctorViewModelForInvoice.OldPatientFee;
            Doctor.OldPatientFeeDuration = DoctorViewModelForInvoice.OldPatientFeeDuration;

            if (ModelState.IsValid)
            {
                db.Entry(Doctor).State = EntityState.Modified;

                db.SaveChanges();
                return(RedirectToAction("InvoiceCreate", new
                {
                    Patient_Id = DoctorViewModelForInvoice.Patient_Id,
                    Doctor_Id = Doctor.Id
                }));
            }
            var doctors = db.Doctors.Include(d => d.Branch);

            DoctorViewModelForInvoice.Doctors = doctors.ToList();
            ViewBag.BranchId = new SelectList(db.Branches, "Id", "BranchName", DoctorViewModelForInvoice.BranchId);
            return(View(DoctorViewModelForInvoice));
        }