コード例 #1
0
        public int PostDeletePatrolCar([FromBody] Patrolcars frm)
        {
            int    ret = 0;
            string Qry = "update Patrolcars set delflag='1' where patrolid=" + frm.Patrolid;

            ret = DAL.PostGre_ExNonQry(Qry);
            return(ret);
        }
コード例 #2
0
        public int PostUpdatePatrolCar([FromBody] Patrolcars frm)
        {
            int    ret = 0;
            string Qry = "update Patrolcars set AhwalID = " + frm.Ahwalid + ",platenumber = '" + frm.Platenumber + "',model = '" + frm.Model + "',typecode='" + frm.Typecode + "',defective = " + frm.Defective + ",rental = " + frm.Rental + ",barcode = '" + frm.Barcode + "',vinnumber='" + frm.Vinnumber + "' where patrolid=" + frm.Patrolid;

            ret = DAL.PostGre_ExNonQry(Qry);
            return(ret);
        }
コード例 #3
0
        public int PostAddPatrolCar([FromBody] Patrolcars frm)
        {
            int    ret = 0;
            string Qry = "insert into Patrolcars(AhwalID,platenumber,model,typecode,defective,rental,barcode,vinnumber) values (" + frm.Ahwalid + ",'" + frm.Platenumber + "','" + frm.Model + "','" + frm.Typecode + "'," + frm.Defective + "," + frm.Rental + ",'" + frm.Barcode + "','" + frm.Vinnumber + "')";

            ret = DAL.PostGre_ExNonQry(Qry);
            return(ret);
        }
コード例 #4
0
        public Patrolcars GetPatrolCardByID(Users u, Patrolcars p)
        {
            //first we have to check if this user is authorized to perform this transaction
            if (!_user.isAuthorized(u.Userid, p.Ahwalid, Handler_User.User_Role_Ahwal))
            {
                return(null); //we dont need to log this since its just read operation
            }
            var result = _context.Patrolcars.FirstOrDefault <Patrolcars>(e => e.Patrolid == p.Patrolid);

            if (result != null)
            {
                return(result);
            }
            return(null);
        }
コード例 #5
0
        public Operationlogs CheckInPatrolAndHandHeld(Users u, Ahwalmapping m, Patrolcars p, Handhelds h)
        {
            try
            {
                //first we have to check if this user is authorized to perform this transaction
                //if (!_user.isAuthorized(u.Userid, p.Ahwalid, Handler_User.User_Role_Ahwal))
                //{
                //    Operationlogs ol_failed = new Operationlogs();
                //    ol_failed.Userid = u.Userid;
                //    ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_CheckInPatrolAndHandHeld;
                //    ol_failed.Statusid = Handler_Operations.Opeartion_Status_UnAuthorized;
                //    ol_failed.Text = "المستخدم لايملك صلاحية هذه العمليه";
                //    _oper.Add_New_Operation_Log(ol_failed);
                //    return ol_failed;
                //}
                //we have to check first that this person doesn't exists before in mapping

                var person_mapping_exists = _context.Ahwalmapping.FirstOrDefault <Ahwalmapping>(e => e.Ahwalmappingid.Equals(m.Ahwalmappingid));
                if (person_mapping_exists == null)
                {
                    Operationlogs ol_failed = new Operationlogs();
                    ol_failed.Userid      = u.Userid;
                    ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_CheckInPatrolAndHandHeld;
                    ol_failed.Statusid    = Handler_Operations.Opeartion_Status_Failed;
                    ol_failed.Text        = "لم يتم العثور على التوزيع";
                    _oper.Add_New_Operation_Log(ol_failed);
                    return(ol_failed);
                }
                var GetPerson = _context.Persons.FirstOrDefault <Persons>(e => e.Personid.Equals(m.Personid));
                if (GetPerson == null)
                {
                    Operationlogs ol_failed = new Operationlogs();
                    ol_failed.Userid      = u.Userid;
                    ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_CheckInPatrolAndHandHeld;
                    ol_failed.Statusid    = Handler_Operations.Opeartion_Status_Failed;
                    ol_failed.Text        = "لم يتم العثور على الفرد: " + m.Personid; //todo, change it actual person name
                    _oper.Add_New_Operation_Log(ol_failed);
                    return(ol_failed);
                }
                if (Convert.ToBoolean(person_mapping_exists.Hasdevices))
                {
                    Operationlogs ol_failed = new Operationlogs();
                    ol_failed.Userid      = u.Userid;
                    ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_CheckInPatrolAndHandHeld;
                    ol_failed.Statusid    = Handler_Operations.Opeartion_Status_Failed;
                    ol_failed.Text        = "هذا المستخدم يملك حاليا اجهزة";
                    _oper.Add_New_Operation_Log(ol_failed);
                    return(ol_failed);
                }
                person_mapping_exists.Patrolid                 = p.Patrolid;
                person_mapping_exists.Handheldid               = h.Handheldid;
                person_mapping_exists.Patrolpersonstateid      = Core.Handler_AhwalMapping.PatrolPersonState_SunRise;
                person_mapping_exists.Sunrisetimestamp         = DateTime.Now;
                person_mapping_exists.Sunsettimestamp          = null;//we have to reset this time
                person_mapping_exists.Hasdevices               = Convert.ToByte(1);
                person_mapping_exists.Laststatechangetimestamp = DateTime.Now;
                _context.SaveChanges();
                //log it

                //we have to add this record in checkIn and CheckOut Table
                var PatrolCheckInLog = new Patrolcheckinout();
                PatrolCheckInLog.Checkinoutstateid = Core.Handler_AhwalMapping.CheckInState;
                PatrolCheckInLog.Timestamp         = DateTime.Now;
                PatrolCheckInLog.Personid          = m.Personid;
                PatrolCheckInLog.Patrolid          = p.Patrolid;
                _context.Patrolcheckinout.Add(PatrolCheckInLog);

                var HandHeldCheckInLog = new Handheldscheckinout();
                HandHeldCheckInLog.Checkinoutstateid = Core.Handler_AhwalMapping.CheckInState;
                HandHeldCheckInLog.Timestamp         = DateTime.Now;
                HandHeldCheckInLog.Personid          = m.Personid;
                HandHeldCheckInLog.Handheldid        = h.Handheldid;
                _context.Handheldscheckinout.Add(HandHeldCheckInLog);

                _context.SaveChanges();

                //record this in personstatechangelog
                var personStateLog = new Patrolpersonstatelog();
                personStateLog.Userid = u.Userid;
                personStateLog.Patrolpersonstateid = Core.Handler_AhwalMapping.PatrolPersonState_SunRise;
                personStateLog.Timestamp           = DateTime.Now;
                personStateLog.Personid            = m.Personid;
                LogPersonStateChange(personStateLog);

                Operationlogs ol = new Operationlogs();
                ol.Userid      = u.Userid;
                ol.Operationid = Handler_Operations.Opeartion_Mapping_CheckInPatrolAndHandHeld;
                ol.Statusid    = Handler_Operations.Opeartion_Status_Success;
                ol.Text        = "تم تسليم الفرد: " + GetPerson.Milnumber.ToString() + " " + GetPerson.Name +
                                 "  الدورية رقم: " + p.Platenumber + " والجهاز رقم: " + h.Serial;
                _oper.Add_New_Operation_Log(ol);

                return(ol);
            }
            catch (Exception ex)
            {
                Operationlogs ol_failed = new Operationlogs();
                ol_failed.Userid      = u.Userid;
                ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_CheckOutPatrolAndHandHeld;
                ol_failed.Statusid    = Handler_Operations.Opeartion_Status_UnKnownError;
                ol_failed.Text        = ex.Message;
                _oper.Add_New_Operation_Log(ol_failed);
                return(ol_failed);
            }
        }
コード例 #6
0
        public IActionResult PostCheckInAhwalMapping([FromBody] JObject RqHdr)
        {
            var selectedPerson = RqHdr["personMno"].ToString();
            //  var selectedPatrol = RqHdr["plateNumber"].ToString();

            var selectedPatrol = Newtonsoft.Json.JsonConvert.DeserializeObject <string>(RqHdr["plateNumber"].ToString(), new Newtonsoft.Json.JsonSerializerSettings {
                NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore
            });

            var selectedHandHeld = Newtonsoft.Json.JsonConvert.DeserializeObject <string>(RqHdr["serial"].ToString(), new Newtonsoft.Json.JsonSerializerSettings {
                NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore
            });

            string responsemsg = "";
            Users  user        = new Users();

            user.Userid = Convert.ToInt32(RqHdr["userid"]);

            if (selectedPerson == null)
            {
                responsemsg = "يرجى اختيار الفرد";
                return(Ok(responsemsg));
            }
            var person = _person.GetPersonForUserForRole(user, Convert.ToInt64(selectedPerson), Core.Handler_User.User_Role_Ahwal);

            if (person == null)
            {
                responsemsg = "لم يتم العثور على الفرد";
                return(Ok(responsemsg));
            }

            if (selectedPatrol == null)
            {
                responsemsg = "يرجى اختيار الدورية";
                return(Ok(responsemsg));
            }
            var patrol = _patrol.GetPatrolCarByPlateNumberForUserForRole(user, selectedPatrol.ToString().Trim(), Core.Handler_User.User_Role_Ahwal);

            if (patrol == null)
            {
                responsemsg = "لم يتم العثور على الدورية";
                return(Ok(responsemsg));
            }


            if (selectedHandHeld == null)
            {
                responsemsg = "يرجى اختيار الجهاز";
                return(Ok(responsemsg));
            }
            var handheld = _handheld.GetHandHeldBySerialForUserForRole(user, selectedHandHeld.ToString().Trim(), Core.Handler_User.User_Role_Ahwal);

            var personMapping = _ahwalmapping.GetMappingByPersonID(user, person);

            if (personMapping == null)
            {
                responsemsg = "لم يتم العثور على الفرد في الكشف";
                return(Ok(responsemsg));
            }
            //lets see if this person already has devices, if he does, then its checkout, if not, then its checkin
            if (Convert.ToBoolean(personMapping.Hasdevices)) //checkout
            {
                if (personMapping.Patrolid != patrol.Patrolid)
                {
                    var getPatrol = new Patrolcars();
                    getPatrol.Patrolid = (int)personMapping.Patrolid;
                    getPatrol.Ahwalid  = personMapping.Ahwalid;
                    var patrolexists = _patrol.GetPatrolCardByID(user, getPatrol);
                    if (patrolexists != null)
                    {
                        responsemsg = "يجب تسليم نفس الدورية المستلمه رقم: " + patrolexists.Platenumber;
                        return(Ok(responsemsg));
                    }
                }
                if (personMapping.Handheldid != handheld.Handheldid)
                {
                    var getHandHeld = new Handhelds();
                    getHandHeld.Handheldid = (int)personMapping.Handheldid;
                    getHandHeld.Ahwalid    = personMapping.Ahwalid;
                    var handHeldExist = _handheld.GetHandHeldByID(user, getHandHeld);
                    if (handHeldExist != null)
                    {
                        responsemsg = "يجب تسليم نفس الجهاز المستلم رقم: " + handHeldExist.Serial;
                        return(Ok(responsemsg));
                    }
                }
                var result = _ahwalmapping.CheckOutPatrolAndHandHeld(user, personMapping, patrol, handheld);
                responsemsg = result.Text;

                return(Ok(responsemsg));
            }
            else
            {//check in
                if (_ahwalmapping.PatrolCarWithSomeOneElse(user, person.Personid, patrol.Patrolid))
                {
                    responsemsg = "الدورية بحوزة شخص اخر";
                    return(Ok(responsemsg));
                }
                if (_ahwalmapping.HandHeldWithSomeOneElse(user, person.Personid, handheld.Handheldid))
                {
                    responsemsg = "الجهاز بحوزة شخص اخر";
                    return(Ok(responsemsg));
                }
                if (Convert.ToBoolean(patrol.Defective))
                {
                    responsemsg = "هذه الدورية غير صالحه";
                    return(Ok(responsemsg));
                }
                if (Convert.ToBoolean(handheld.Defective))
                {
                    responsemsg = "هذه الجهاز غير صالح";
                    return(Ok(responsemsg));
                }
                //ok no body else has, the devices are good and not defected
                var result = _ahwalmapping.CheckInPatrolAndHandHeld(user, personMapping, patrol, handheld);
                responsemsg = result.Text;
                return(Ok(responsemsg));
            }
        }