public long AddPatient(PatientDemographyModel patient)
        {
            try
            {
                if (patient == null)
                {
                    return(-2);
                }

                var duplicates = _context.PatientDemography.Count(m => m.PatientIdentifier.Trim().ToLower() == patient.PatientIdentifier.Trim().ToLower());
                if (duplicates > 0)
                {
                    return(-3);
                }

                var sites = _context.Site.Where(m => m.SiteId.Trim().ToLower() == patient.FacilityId.Trim().ToLower()).ToList();
                if (!sites.Any())
                {
                    return(-3);
                }

                var patientEntity = mapper.Map <PatientDemographyModel, PatientDemography>(patient);
                _context.PatientDemography.Add(patientEntity);
                _context.SaveChanges();
                return(patientEntity.Id);
            }
            catch (Exception e)
            {
                return(0);
            }
        }
 public long UpdatePatient(PatientDemographyModel patient)
 {
     try
     {
         if (patient == null || patient.Id < 1)
         {
             return(-2);
         }
         var patientEntities = _context.PatientDemography.Where(m => m.Id == patient.Id).ToList();
         if (!patientEntities.Any())
         {
             return(-2);
         }
         var patientEntity = patientEntities[0];
         patientEntity.SiteId                    = patient.SiteId;
         patientEntity.EnrolleeCode              = patient.EnrolleeCode;
         patientEntity.PatientDateOfBirth        = patient.PatientDateOfBirth;
         patientEntity.PatientIdentifier         = patient.PatientIdentifier;
         patientEntity.PatientSexCode            = patient.PatientSexCode;
         patientEntity.FacilityId                = patient.FacilityId;
         patientEntity.FacilityName              = patient.FacilityName;
         patientEntity.FacilityTypeCode          = patient.FacilityTypeCode;
         patientEntity.OtherIdnumber             = patient.OtherIdnumber;
         patientEntity.OtherIdtypeCode           = patient.OtherIdtypeCode;
         patientEntity.ConditionCode             = patient.ConditionCode;
         patientEntity.AddressTypeCode           = patient.AddressTypeCode;
         patientEntity.StateCode                 = patient.StateCode;
         patientEntity.CountryCode               = patient.CountryCode;
         patientEntity.ProgramAreaCode           = patient.ProgramAreaCode;
         patientEntity.FirstConfirmedHivtestDate = patient.FirstConfirmedHivtestDate;
         patientEntity.ArtstartDate              = patient.ArtstartDate;
         patientEntity.TransferredOutStatus      = patient.TransferredOutStatus;
         patientEntity.EnrolledInHivcareDate     = patient.EnrolledInHivcareDate;
         patientEntity.HospitalNumber            = patient.HospitalNumber;
         patientEntity.DateOfFirstReport         = patient.DateOfFirstReport;
         patientEntity.DateOfLastReport          = patient.DateOfLastReport;
         patientEntity.DiagnosisDate             = patient.DiagnosisDate;
         patientEntity.PatientDieFromThisIllness = patient.PatientDieFromThisIllness;
         patientEntity.PatientAge                = patient.PatientAge;
         _context.Entry(patientEntity).State     = EntityState.Modified;
         _context.SaveChanges();
         return(patientEntity.Id);
     }
     catch (Exception e)
     {
         return(0);
     }
 }