Beispiel #1
0
        public Operationlogs Ops_ChangePersonState(Users u, long mappingID, Patrolpersonstates s)
        {
            try
            {
                //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(mappingID));
                if (person_mapping_exists == null)
                {
                    Operationlogs ol_failed = new Operationlogs();
                    ol_failed.Userid      = u.Userid;
                    ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_Ops_ChangePersonState;
                    ol_failed.Statusid    = Handler_Operations.Opeartion_Status_Failed;
                    ol_failed.Text        = "لم يتم العثور على التوزيع";
                    _oper.Add_New_Operation_Log(ol_failed);
                    return(ol_failed);
                }
                //a bit different here, for Ahwalmapping, allowed states are only for sick,leave,sunrise,sunset
                int[] allowedState = { Core.Handler_AhwalMapping.PatrolPersonState_Sea,
                                       Core.Handler_AhwalMapping.PatrolPersonState_Land,
                                       Core.Handler_AhwalMapping.PatrolPersonState_Back,
                                       Core.Handler_AhwalMapping.PatrolPersonState_Away,
                                       Core.Handler_AhwalMapping.PatrolPersonState_WalkingPatrol,
                                       Core.Handler_AhwalMapping.PatrolPersonState_BackFromWalking };
                //first we have to check if this user is authorized to perform this transaction
                //if (!_user.isAuthorized(u.Userid, person_mapping_exists.Ahwalid, Handler_User.User_Role_Ops)
                //    && !allowedState.Contains(s.Patrolpersonstateid))
                //{
                //    Operationlogs ol_failed = new Operationlogs();
                //    ol_failed.Userid = u.Userid;
                //    ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_Ops_ChangePersonState;
                //    ol_failed.Statusid = Handler_Operations.Opeartion_Status_UnAuthorized;
                //    ol_failed.Text = "المستخدم لايملك صلاحية هذه العمليه";
                //    _oper.Add_New_Operation_Log(ol_failed);
                //    return ol_failed;
                //}

                var GetPerson = _context.Persons.FirstOrDefault <Persons>(e => e.Personid.Equals(person_mapping_exists.Personid));
                if (GetPerson == null)
                {
                    Operationlogs ol_failed = new Operationlogs();
                    ol_failed.Userid      = u.Userid;
                    ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_Ops_ChangePersonState;
                    ol_failed.Statusid    = Handler_Operations.Opeartion_Status_Failed;
                    ol_failed.Text        = "لم يتم العثور على الفرد: " + person_mapping_exists.Personid; //todo, change it actual person name
                    _oper.Add_New_Operation_Log(ol_failed);
                    return(ol_failed);
                }
                //for operations, we cannot change person state sea land or anythinf for associate
                if (person_mapping_exists.Patrolroleid == Core.Handler_AhwalMapping.PatrolRole_Associate)
                {
                    Operationlogs ol_failed = new Operationlogs();
                    ol_failed.Userid      = u.Userid;
                    ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_Ops_ChangePersonState;
                    ol_failed.Statusid    = Handler_Operations.Opeartion_Status_Failed;
                    ol_failed.Text        = "المرافق لايمكن تغيير حالته: " + person_mapping_exists.Personid; //todo, change it actual person name
                                                                                                             // Handler_Operations.Add_New_Operation_Log(ol_failed); //no need to record this
                    return(ol_failed);
                }
                person_mapping_exists.Patrolpersonstateid      = s.Patrolpersonstateid;
                person_mapping_exists.Laststatechangetimestamp = DateTime.Now;
                _context.SaveChanges();
                //log it
                //record this in personstatechangelog
                var personStateLog = new Patrolpersonstatelog();
                personStateLog.Userid = u.Userid;
                personStateLog.Patrolpersonstateid = s.Patrolpersonstateid;
                personStateLog.Timestamp           = DateTime.Now;
                personStateLog.Personid            = person_mapping_exists.Personid;
                LogPersonStateChange(personStateLog);



                Operationlogs ol = new Operationlogs();
                ol.Userid      = u.Userid;
                ol.Operationid = Handler_Operations.Opeartion_Mapping_Ops_ChangePersonState;
                ol.Statusid    = Handler_Operations.Opeartion_Status_Success;
                ol.Text        = "عمليات تغيير حالة الفرد: " + GetPerson.Milnumber + " " + GetPerson.Name;
                _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_Ahwal_ChangePersonState;
                ol_failed.Statusid    = Handler_Operations.Opeartion_Status_UnKnownError;
                ol_failed.Text        = ex.Message;
                _oper.Add_New_Operation_Log(ol_failed);
                return(ol_failed);
            }
        }
Beispiel #2
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);
            }
        }
Beispiel #3
0
        public Operationlogs Ahwal_ChangePersonState(Users u, long mappingID, Patrolpersonstates s)
        {
            try
            {
                //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(mappingID));
                if (person_mapping_exists == null)
                {
                    Operationlogs ol_failed = new Operationlogs();
                    ol_failed.Userid      = u.Userid;
                    ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_Ahwal_ChangePersonState;
                    ol_failed.Statusid    = Handler_Operations.Opeartion_Status_Failed;
                    ol_failed.Text        = "لم يتم العثور على التوزيع";
                    _oper.Add_New_Operation_Log(ol_failed);
                    return(ol_failed);
                }
                //a bit different here, for Ahwalmapping, allowed states are only for sick,leave,sunrise,sunset
                int[] allowedState = { Core.Handler_AhwalMapping.PatrolPersonState_SunRise,
                                       Core.Handler_AhwalMapping.PatrolPersonState_SunSet,
                                       Core.Handler_AhwalMapping.PatrolPersonState_Off,
                                       Core.Handler_AhwalMapping.PatrolPersonState_Sick,
                                       Core.Handler_AhwalMapping.PatrolPersonState_Absent };
                //first we have to check if this user is authorized to perform this transaction
                //if (!_user.isAuthorized(u.Userid, person_mapping_exists.Ahwalid, Handler_User.User_Role_Ahwal)
                //    && !allowedState.Contains(s.Patrolpersonstateid))
                //{
                //    Operationlogs ol_failed = new Operationlogs();
                //    ol_failed.Userid = u.Userid;
                //    ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_Ahwal_ChangePersonState;
                //    ol_failed.Statusid = Handler_Operations.Opeartion_Status_UnAuthorized;
                //    ol_failed.Text = "المستخدم لايملك صلاحية هذه العمليه";
                //    _oper.Add_New_Operation_Log(ol_failed);
                //    return ol_failed;
                //}

                var GetPerson = _context.Persons.FirstOrDefault <Persons>(e => e.Personid.Equals(person_mapping_exists.Personid));
                if (GetPerson == null)
                {
                    Operationlogs ol_failed = new Operationlogs();
                    ol_failed.Userid      = u.Userid;
                    ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_Ahwal_ChangePersonState;
                    ol_failed.Statusid    = Handler_Operations.Opeartion_Status_Failed;
                    ol_failed.Text        = "لم يتم العثور على الفرد: " + person_mapping_exists.Personid; //todo, change it actual person name
                    _oper.Add_New_Operation_Log(ol_failed);
                    return(ol_failed);
                }
                //last check
                //if he has devices, dont change his state to anything
                if (Convert.ToBoolean(person_mapping_exists.Hasdevices))
                {
                    Operationlogs ol_failed = new Operationlogs();
                    ol_failed.Userid      = u.Userid;
                    ol_failed.Operationid = Handler_Operations.Opeartion_Mapping_Ahwal_ChangePersonState;
                    ol_failed.Statusid    = Handler_Operations.Opeartion_Status_Failed;
                    ol_failed.Text        = "هذا المستخدم يملك حاليا اجهزة";
                    _oper.Add_New_Operation_Log(ol_failed);
                    return(ol_failed);
                }

                //in ahwal mapping, we can change associate person state to sick, off,leave
                person_mapping_exists.Patrolpersonstateid      = s.Patrolpersonstateid;
                person_mapping_exists.Laststatechangetimestamp = DateTime.Now;
                _context.SaveChanges();
                //log it
                //record this in personstatechangelog
                var personStateLog = new Patrolpersonstatelog();
                personStateLog.Userid = u.Userid;
                personStateLog.Patrolpersonstateid = s.Patrolpersonstateid;
                personStateLog.Timestamp           = DateTime.Now;
                personStateLog.Personid            = person_mapping_exists.Personid;
                LogPersonStateChange(personStateLog);



                Operationlogs ol = new Operationlogs();
                ol.Userid      = u.Userid;
                ol.Operationid = Handler_Operations.Opeartion_Mapping_Ahwal_ChangePersonState;
                ol.Statusid    = Handler_Operations.Opeartion_Status_Success;
                ol.Text        = "احوال تغيير حالة الفرد: " + GetPerson.Milnumber + " " + GetPerson.Name;
                _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_Ahwal_ChangePersonState;
                ol_failed.Statusid    = Handler_Operations.Opeartion_Status_UnKnownError;
                ol_failed.Text        = ex.Message;
                _oper.Add_New_Operation_Log(ol_failed);
                return(ol_failed);
            }
        }
Beispiel #4
0
 public void LogPersonStateChange(Patrolpersonstatelog p)
 {
     _context.Patrolpersonstatelog.Add(p);
     _context.SaveChanges();
 }