Example #1
0
        public ActionResult PostChangeOpsPersonState([FromBody] JObject RqHdr)
        {
            var personstate    = RqHdr["personstate"].ToString();
            var ahwalmappingId = Convert.ToInt64(Newtonsoft.Json.JsonConvert.DeserializeObject <string>(RqHdr["ahwalmappingId"].ToString(), new Newtonsoft.Json.JsonSerializerSettings {
                NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore
            }));
            var userid = Convert.ToInt32(Newtonsoft.Json.JsonConvert.DeserializeObject <string>(RqHdr["userid"].ToString(), new Newtonsoft.Json.JsonSerializerSettings {
                NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore
            }));

            //  var user = (Users)Session["User"];
            Users user = new Users();

            user.Userid = userid;
            if (user == null)
            {
                return(Ok(null));
            }

            var personState = new Patrolpersonstates();

            if (personstate == "Away")
            {
                personState.Patrolpersonstateid = Core.Handler_AhwalMapping.PatrolPersonState_Away;
                var result = _ahwalmapping.Ops_ChangePersonState(user, ahwalmappingId, personState);
                return(Ok(result));
            }
            else if (personstate == "Land")
            {
                personState.Patrolpersonstateid = Core.Handler_AhwalMapping.PatrolPersonState_Land;
                var result = _ahwalmapping.Ops_ChangePersonState(user, ahwalmappingId, personState);
                return(Ok(result));
            }
            else if (personstate == "BackFromAway")
            {
                personState.Patrolpersonstateid = Core.Handler_AhwalMapping.PatrolPersonState_Back;
                var result = _ahwalmapping.Ops_ChangePersonState(user, ahwalmappingId, personState);
                return(Ok(result));
            }
            else if (personstate == "BackFromLand")
            {
                personState.Patrolpersonstateid = Core.Handler_AhwalMapping.PatrolPersonState_Sea;
                var result = _ahwalmapping.Ops_ChangePersonState(user, ahwalmappingId, personState);
                return(Ok(result));
            }
            else if (personstate == "WalkingPatrol")
            {
                personState.Patrolpersonstateid = Core.Handler_AhwalMapping.PatrolPersonState_WalkingPatrol;
                var result = _ahwalmapping.Ops_ChangePersonState(user, ahwalmappingId, personState);
                return(Ok(result));
            }
            else if (personstate == "BackFromWalking")
            {
                personState.Patrolpersonstateid = Core.Handler_AhwalMapping.PatrolPersonState_BackFromWalking;
                var result = _ahwalmapping.Ops_ChangePersonState(user, ahwalmappingId, personState);
                return(Ok(result));
            }
            return(Ok(null));
            // return Ok(DAL.PostGre_GetDataTable(Qry));
        }
        public IActionResult PostupdatePersonState([FromBody] JObject RqHdr)
        {
            var mappingid = Convert.ToInt64(Newtonsoft.Json.JsonConvert.DeserializeObject <string>(RqHdr["AhwalMappingId"].ToString(), new Newtonsoft.Json.JsonSerializerSettings {
                NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore
            }));
            var selmenu = RqHdr["Selmenu"].ToString();
            // var userid = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(RqHdr["userid"].ToString(), new Newtonsoft.Json.JsonSerializerSettings { NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore });
            Users user = new Users();

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

            var personState = new Patrolpersonstates();

            if (selmenu == "غياب")
            {
                personState.Patrolpersonstateid = Core.Handler_AhwalMapping.PatrolPersonState_Absent;
            }
            else if (selmenu == "مرضيه")
            {
                personState.Patrolpersonstateid = Core.Handler_AhwalMapping.PatrolPersonState_Sick;
            }
            else if (selmenu == "اجازه")
            {
                personState.Patrolpersonstateid = Core.Handler_AhwalMapping.PatrolPersonState_Off;
            }
            var result = _ahwalmapping.Ahwal_ChangePersonState(user, mappingid, personState);


            return(Ok(result.Text));
        }
Example #3
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);
            }
        }
Example #4
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);
            }
        }