Beispiel #1
0
        /// <summary>Save DAR Details
        /// <CreatedFor>For Insert DAR details</CreatedFor>
        /// <CreatedBy>Bhushan Dod</CreatedBy>
        /// <CreatedOn>Feb-16-2015</CreatedOn>
        /// </summary>
        /// <param name="ObjServiceDARModel"></param>
        /// <returns>long DARId</returns>
        public long SaveDARDetails(ServiceDARModel ObjServiceDARModel)
        {
            DARDetail ObjDARDetail = new DARDetail();

            try
            {
                ObjDARDetail.ActivityDetails = ObjServiceDARModel.ActivityDetails;
                ObjDARDetail.LocationId      = ObjServiceDARModel.LocationId;
                ObjDARDetail.TaskType        = ObjServiceDARModel.TaskType;
                ObjDARDetail.CreatedBy       = ObjServiceDARModel.UserId;
                ObjDARDetail.CreatedOn       = DateTime.UtcNow;
                ObjDARDetail.DeletedBy       = null;
                ObjDARDetail.DeletedOn       = null;
                ObjDARDetail.IsDeleted       = false;
                ObjDARDetail.IsManual        = false;
                ObjDARDetail.ModifiedBy      = null;
                ObjDARDetail.ModifiedOn      = null;
                ObjDARDetail.UserId          = ObjServiceDARModel.UserId;

                //Added by Bhushan on 06/02/2017 for entime need to save for facilty end.This method call once facility done for DAR record separate service call.
                if (ObjServiceDARModel.EndTime != null && ObjServiceDARModel.TaskType == 319)
                {
                    ObjDARDetail.EndTime = DateTime.UtcNow;
                }

                Add(ObjDARDetail);
                long DARId = ObjDARDetail.DARId;

                return(DARId);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #2
0
        public IHttpActionResult StartFuelingTimer(ServiceDARModel objeFleetDARModel)
        {
            var ObjServiceResponseModel = new ServiceResponseModel <long>();

            try
            {
                //var objDarManager = new DARManager();
                if (objeFleetDARModel != null && objeFleetDARModel.ServiceAuthKey != null && objeFleetDARModel.UserId > 0)
                {
                    long DARId = _IDARManager.SaveeFleetDAR(objeFleetDARModel);
                    if (DARId > 0)
                    {
                        ObjServiceResponseModel.Response = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.InvariantCulture);
                        ObjServiceResponseModel.Message  = CommonMessage.Successful();
                        ObjServiceResponseModel.Data     = DARId;
                    }
                    return(Ok(ObjServiceResponseModel));
                }
                else
                {
                    ObjServiceResponseModel.Response = Convert.ToInt32(ServiceResponse.FailedResponse, CultureInfo.CurrentCulture);
                    ObjServiceResponseModel.Message  = CommonMessage.InvalidUser();
                    return(Ok(ObjServiceResponseModel));
                }
            }
            catch (Exception ex)
            {
                ObjServiceResponseModel.Message  = ex.Message;
                ObjServiceResponseModel.Response = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                //ObjServiceResponseModel.Data = null;
                return(Ok(ObjServiceResponseModel));
            }
        }
Beispiel #3
0
        /// <summary>Update the status of DAR jump start
        /// <CreatedFor>For Update Jump Start and GT Tracker</CreatedFor>
        /// <CreatedBy>Bhushan Dod</CreatedBy>
        /// <CreatedOn>March-16-2015</CreatedOn>
        /// </summary>
        /// <param name="objServiceDARModel"></param>
        /// <returns></returns>
        public ServiceResponseModel <string> UpdateDarTaskStatus(ServiceDARModel obj)
        {
            ObjUserRepository = new UserRepository();
            ServiceResponseModel <string> ObjServiceResponseModel = new ServiceResponseModel <string>();

            objDARRepository = new DARRepository();
            string message = string.Empty;

            try
            {
                // var authuser = ObjUserRepository.GetSingleOrDefault(x => x.ServiceAuthKey == ObjWorkStatusModel.ServiceAuthKey && x.UserId == ObjWorkStatusModel.UserId);
                if (obj.DARId != 0 && obj.EndTime != null && obj.EndTime.Trim() != "")
                {
                    if (obj.EndTime != null)
                    {
                        obj.EndTime = DateTime.UtcNow.ToString();
                    }
                    var result = objDARRepository.UpdateDarTaskStatus(obj.ServiceAuthKey, obj.UserId, obj.DARId, obj.EndTime, obj.LocationId, obj.Description, obj.EndTimeImage);
                    ObjServiceResponseModel.Response = Convert.ToInt64(result.Data.Response, CultureInfo.InvariantCulture);
                    ObjServiceResponseModel.Message  = (result.Data.ResponseMessage).ToString();//CommonMessage.MessageLogout();
                }
                else
                {
                    ObjServiceResponseModel.Response = Convert.ToInt32(ServiceResponse.FailedResponse, CultureInfo.CurrentCulture);
                    ObjServiceResponseModel.Message  = CommonMessage.WrongParameterMessage();
                }
            }
            catch (Exception)
            { throw; }

            return(ObjServiceResponseModel);
        }
Beispiel #4
0
        /// <summary>Save the Log while deleting mapping
        /// <CreatedFor>For Insert QRC Type</CreatedFor>
        /// <CreatedBy>Vijay sahu</CreatedBy>
        /// <CreatedOn>march-11-2015</CreatedOn>
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public ServiceDARModel UserLocationMappingDelete(ServiceDARModel obj, string locationname, string userType)
        {
            ObjUserRepository = new UserRepository();
            objDARRepository  = new DARRepository();
            try
            {
                string createdByName = "";
                if (obj.LocationId > 0)
                {
                    using (workorderEMSEntities objContext = new workorderEMSEntities())
                    {
                        obj.UserName = (from o in objContext.UserRegistrations
                                        where o.UserId == obj.UserId && o.IsDeleted == false
                                        select o.FirstName + "" + o.LastName).FirstOrDefault();


                        createdByName = (from o in objContext.UserRegistrations
                                         where o.UserId == obj.CreatedBy && o.IsDeleted == false
                                         select o.FirstName + "" + o.LastName).FirstOrDefault();
                    }



                    obj.ActivityDetails = DarMessage.DeleteLocationMapping(obj.UserName, locationname, userType, createdByName); // this will generate an message
                    var result = objDARRepository.SaveDARDetails(obj);
                    if (result != null || result > 0)
                    {
                        obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                        obj.DARId           = result;
                        obj.ResponseMessage = CommonMessage.SaveSuccessMessage();
                    }
                    else
                    {
                        obj.Response        = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                        obj.DARId           = result;
                        obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                    }
                }
                else
                {
                    obj.Response        = Convert.ToInt32(ServiceResponse.FailedResponse, CultureInfo.CurrentCulture);
                    obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                }
            }
            catch (Exception ex)
            {
                Exception_B.Exception_B.exceptionHandel_Runtime(ex, "public ServiceDARModel UserLocationMappingDelete(ServiceDARModel obj, string locationname, string userType)", "Exception While creating location", obj);
                throw ex;
            }
            return(obj);
        }
Beispiel #5
0
        /// <summary>Get eFleetVehicle Details
        /// <CreatedBy>Bhushan Dod</CreatedBY>
        /// <CreatedFor>GeteFleetVehicleDetailsByID</CreatedFor>
        /// <CreatedOn>Sept-06-2017</CreatedOn>
        /// </summary>
        /// <param name="ObjServiceQRCElevatorModel"></param>
        /// <returns></returns>
        public ServiceResponseModel <VehicleScanModel> GeteFleetVehicleDetailsByID(VehicleScanModel ObjServiceVehicleModel)
        {
            var             ObjeFleetVehicleRepository        = new eFleetVehicleRepository();
            var             objeFleetVehicleScanLogRepository = new eFleetVehicleScanLogRepository();
            var             ObjUserRepository = new UserRepository();
            var             objDARRepository  = new DARRepository();
            ServiceDARModel obj = new ServiceDARModel();
            ServiceResponseModel <VehicleScanModel> ObjServiceResponseModel = new ServiceResponseModel <VehicleScanModel>();

            try
            {
                var authuser = ObjUserRepository.GetSingleOrDefault(x => x.ServiceAuthKey == ObjServiceVehicleModel.ServiceAuthKey && x.IsDeleted == false);
                if (authuser != null && authuser.UserId > 0)
                {
                    var result = GeteFleetVehicleById(ObjServiceVehicleModel.QRCodeID, ObjServiceVehicleModel.LocationID);

                    ObjServiceResponseModel.Message  = (result != null && result.VehicleID > 0) ? CommonMessage.Successful() : CommonMessage.DoesNotExistsRecordMessage();
                    ObjServiceResponseModel.Response = (result != null && result.VehicleID > 0) ? Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture) : Convert.ToInt32(ServiceResponse.FailedResponse, CultureInfo.CurrentCulture);
                    ObjServiceResponseModel.Data     = result;
                    if (result.VehicleID > 0)
                    {
                        //For Scan log maintian
                        long VehScanLogId = objeFleetVehicleScanLogRepository.SaveeFleetVehicleScanLog(result.VehicleID, Convert.ToInt64(eFleetEnum.VehicleScan), authuser.UserId, Convert.ToInt64(result.LocationID));
                        ObjServiceResponseModel.Data.VehicleScanLogId = VehScanLogId;

                        //For DAR log maintian
                        obj.CreatedBy       = authuser.UserId;
                        obj.ActivityDetails = DarMessage.VehicleScanMessage((authuser.FirstName + " " + authuser.LastName), result.VehicleNumber, result.QRCodeID);
                        obj.LocationId      = Convert.ToInt64(result.LocationID);
                        obj.UserId          = authuser.UserId;
                        obj.TaskType        = (long)eFleetEnum.VehicleScan;
                        long DarId = objDARRepository.SaveDARDetails(obj);
                        ObjServiceResponseModel.Data.DarID = DarId;
                    }
                }
                else
                {
                    ObjServiceResponseModel.Response = Convert.ToInt32(ServiceResponse.InvalidSessionResponse, CultureInfo.CurrentCulture);
                    ObjServiceResponseModel.Message  = CommonMessage.InvalidUser();
                }
            }
            catch (Exception ex)
            {
                WorkOrderEMS.BusinessLogic.Exception_B.Exception_B.exceptionHandel_Runtime(ex, "ServiceResponseModel<VehicleScanModel> GeteFleetVehicleDetailsByID(VehicleScanModel ObjServiceVehicleModel)", "while fetching GeteFleetVehicleDetailsByID", ObjServiceVehicleModel);
                ObjServiceResponseModel.Message  = ex.Message;
                ObjServiceResponseModel.Response = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                ObjServiceResponseModel.Data     = null;
            }
            return(ObjServiceResponseModel);
        }
Beispiel #6
0
        /// <summary>Save DAR for Jump Start
        /// <CreatedFor>For Insert Jump Start and GT Tracker</CreatedFor>
        /// <CreatedBy>Bhushan Dod</CreatedBy>
        /// <CreatedOn>March-16-2015</CreatedOn>
        /// </summary>
        /// <param name="objServiceDARModel"></param>
        /// <returns></returns>
        public long InsertDARDetailsForTracking(ServiceDARModel ObjServiceDARModel)
        {
            DARDetail ObjDARDetail = new DARDetail();

            try
            {
                ObjDARDetail.ActivityDetails = ObjServiceDARModel.ActivityDetails;
                ObjDARDetail.LocationId      = ObjServiceDARModel.LocationId;
                ObjDARDetail.TaskType        = ObjServiceDARModel.TaskType;
                ObjDARDetail.CreatedBy       = ObjServiceDARModel.UserId;
                ObjDARDetail.CreatedOn       = DateTime.UtcNow;
                ObjDARDetail.DeletedBy       = null;
                ObjDARDetail.DeletedOn       = null;
                ObjDARDetail.IsDeleted       = false;
                ObjDARDetail.IsManual        = false;
                ObjDARDetail.ModifiedBy      = null;
                ObjDARDetail.ModifiedOn      = null;
                ObjDARDetail.UserId          = ObjServiceDARModel.UserId;
                ObjDARDetail.Description     = ObjServiceDARModel.Description;
                if (ObjServiceDARModel.FacilityRequest != true || ObjServiceDARModel.FacilityRequest == null)
                {//This Constraint for error occur if starttime is null
                 // ObjDARDetail.StartTime = Convert.ToDateTime(ObjServiceDARModel.StartTime).ToUniversalTime();
                    ObjDARDetail.StartTime = DateTime.UtcNow;
                }
                //Condition for while accpeting FR which means by default work has started.
                if (ObjServiceDARModel.FacilityRequest == true && ObjServiceDARModel.EndTime == null && ObjServiceDARModel.StartTime != null)
                {//This Constraitn for error occur if starttime is null
                 // ObjDARDetail.StartTime = Convert.ToDateTime(ObjServiceDARModel.StartTime).ToUniversalTime();
                    ObjDARDetail.StartTime = DateTime.UtcNow;
                }
                ObjDARDetail.StartTimeImage = ObjServiceDARModel.StartTimeImage;

                Add(ObjDARDetail);
                long DARId = ObjDARDetail.DARId;

                return(DARId);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #7
0
        /// <summary>Save eFleet DAR Details
        /// <CreatedFor>For Insert eFleet DAR details</CreatedFor>
        /// <CreatedBy>Bhushan Dod</CreatedBy>
        /// <CreatedOn>Sept-05-2017s</CreatedOn>
        /// </summary>
        /// <param name="ObjServiceDARModel"></param>
        /// <returns>long DARId</returns>
        public long SaveeFleetDAR(ServiceDARModel ObjServiceDARModel)
        {
            var ObjDARDetail     = new DARDetail();
            var objDARRepository = new DARRepository();

            try
            {
                ObjDARDetail.ActivityDetails = ObjServiceDARModel.ActivityDetails;
                ObjDARDetail.LocationId      = ObjServiceDARModel.LocationId;
                ObjDARDetail.TaskType        = ObjServiceDARModel.TaskType;
                ObjDARDetail.CreatedBy       = ObjServiceDARModel.UserId;
                ObjDARDetail.CreatedOn       = DateTime.UtcNow;
                ObjDARDetail.DeletedBy       = null;
                ObjDARDetail.DeletedOn       = null;
                ObjDARDetail.IsDeleted       = false;
                ObjDARDetail.IsManual        = false;
                ObjDARDetail.ModifiedBy      = null;
                ObjDARDetail.ModifiedOn      = null;
                ObjDARDetail.UserId          = ObjServiceDARModel.UserId;

                //Added by Bhushan on 09/05/2017 for start time of fueling is going to start now.
                if (ObjServiceDARModel.StartTime != null && ObjServiceDARModel.TaskType == Convert.ToInt64(eFleetEnum.Fueling))
                {
                    ObjDARDetail.StartTime = DateTime.UtcNow;
                }

                objDARRepository.Add(ObjDARDetail);
                long DARId = ObjDARDetail.DARId;

                return(DARId);
            }
            catch (Exception ex)
            {
                Exception_B.Exception_B.exceptionHandel_Runtime(ex, "long SaveeFleetDAR(ServiceDARModel ObjServiceDARModel)", "Exception While saving DAR for eFlee", ObjServiceDARModel.UserId);
                throw;
            }
        }
Beispiel #8
0
        public ServiceDARModel UpdateEndTimeDAR(ServiceDARModel obj)
        {
            DARDetail objDARDetail;

            ObjUserRepository = new UserRepository();
            objDARRepository  = new DARRepository();
            try
            {
                var authuser = ObjUserRepository.GetSingleOrDefault(x => x.ServiceAuthKey == obj.ServiceAuthKey && x.IsDeleted == false);
                if (authuser != null && authuser.UserId > 0)
                {
                    objDARDetail = objDARRepository.GetAll(x => x.IsDeleted == false && x.DARId == obj.DARId && x.LocationId == obj.LocationId).FirstOrDefault();
                    if (objDARDetail != null)
                    {
                        objDARDetail.EndTime = DateTime.UtcNow;
                        objDARRepository.Update(objDARDetail);
                        obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                        obj.ResponseMessage = CommonMessage.SaveSuccessMessage();
                    }
                    else
                    {
                        obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                        obj.ResponseMessage = CommonMessage.NoRecordMessage();
                    }
                }
                else
                {
                    obj.Response        = Convert.ToInt32(ServiceResponse.InvalidSessionResponse, CultureInfo.CurrentCulture);
                    obj.ResponseMessage = CommonMessage.InvalidUser();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(obj);
        }
Beispiel #9
0
        /// <summary>Save DAR for QRC Type
        /// <CreatedFor>For Insert QRC Type</CreatedFor>
        /// <CreatedBy>Bhusha n Dod</CreatedBy>
        /// <CreatedOn>Feb-13-2015</CreatedOn>
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public ServiceDARModel SaveDARDetails(ServiceDARModel obj)
        {
            ObjUserRepository = new UserRepository();
            objDARRepository  = new DARRepository();
            workorderEMSEntities _workorderEMSEntities = new workorderEMSEntities();
            bool   IsContinuesWOExist        = false;
            string startTimeDAR              = "";
            string endTimeDAR                = "";
            string activityString            = string.Empty;
            string activityStringForWONumber = string.Empty;

            try
            {
                if (obj.LocationId > 0 && obj.ServiceAuthKey != null)
                {
                    var authuser = ObjUserRepository.GetSingleOrDefault(x => x.ServiceAuthKey == obj.ServiceAuthKey && x.IsDeleted == false);
                    if (obj.ActivityDetails != null)
                    {
                        activityString            = obj.ActivityDetails.Substring(obj.ActivityDetails.LastIndexOf(',') + 1);
                        activityStringForWONumber = activityString.Substring(activityString.LastIndexOf('r') + 1);
                    }
                    //322 and 323 is used for continues pause  and resume
                    var IsPauseResume = obj.TaskType == Convert.ToInt64(ContinuesPauseResume.Pause) ? true : obj.TaskType == Convert.ToInt64(ContinuesPauseResume.Resume) ? true : false;
                    if (authuser != null && authuser.UserId > 0 && obj.TaskType != 280)
                    {
                        //TO find Any continues WO complete before Notification Arrival
                        var clientdt = DateTime.UtcNow.GetClientDateTimeNow();
                        //flag status for if user filter record in time span so to date is till midnight.
                        bool     isUTCDay        = true;
                        DateTime _fromDate       = clientdt.Date;
                        DateTime _toDate         = clientdt.AddDays(1).Date;
                        var      todayDARDetails = _workorderEMSEntities.DARDetails.Where(x => x.UserId == authuser.UserId &&
                                                                                          x.LocationId == obj.LocationId &&
                                                                                          x.IsDeleted == false &&
                                                                                          x.CreatedOn >= _fromDate &&
                                                                                          (x.TaskType == 320 ||
                                                                                           x.TaskType == 321) &&
                                                                                          x.CreatedOn <= _toDate).ToList();
                        foreach (var item in todayDARDetails)
                        {
                            var darActivity = item.ActivityDetails;
                            var stringCon   = darActivity.Substring(darActivity.LastIndexOf(',') + 1);
                            var stringCon1  = stringCon.Substring(stringCon.LastIndexOf('r') + 1);
                            if (activityStringForWONumber == stringCon1)
                            {
                                IsContinuesWOExist = true;
                                startTimeDAR       = item.StartTime.ToString();
                                endTimeDAR         = item.EndTime.ToString();
                            }
                        }
                        if (IsContinuesWOExist == true && IsPauseResume == false)
                        {
                            if (startTimeDAR != "" && endTimeDAR == "")
                            {
                                obj.Response        = Convert.ToInt32(ServiceResponse.NoRecord, CultureInfo.CurrentCulture);
                                obj.ResponseMessage = CommonMessage.AlreadyContinuesWOStart(activityStringForWONumber);
                            }
                            else if (startTimeDAR == "" && endTimeDAR != "")
                            {
                                obj.Response        = Convert.ToInt32(ServiceResponse.NoRecord, CultureInfo.CurrentCulture);
                                obj.ResponseMessage = CommonMessage.AlreadyContinuesWOComplete(activityStringForWONumber);
                            }
                        }
                        else
                        {
                            //obj.ActivityDetails = DarMessage.QrcVehicleCleaning(obj.UserName);
                            var result = objDARRepository.SaveDARDetails(obj);
                            if (result != null && result > 0)
                            {
                                obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                                obj.DARId           = result;
                                obj.ResponseMessage = CommonMessage.SaveSuccessMessage();
                            }
                            else
                            {
                                obj.Response        = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                                obj.DARId           = result;
                                obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                            }
                        }
                    }
                    else if (authuser != null && authuser.UserId > 0 && obj.TaskType == 280)
                    {
                        var objLoginLogRepository = new LoginLogRepository();
                        obj.ActivityDetails = DarMessage.ShiftEnd(obj.UserName);
                        var result = objDARRepository.SaveDARDetails(obj);
                        if (result != null && result > 0)
                        {
                            var loginlog = objLoginLogRepository.GetSingleOrDefault(x => x.UserID == authuser.UserId && x.LogId == obj.LogId && x.IsDeleted == false && x.IsActive == true);
                            if (loginlog.LogId != 0)
                            {
                                loginlog.IsActive = false;
                                loginlog.ShiftEnd = DateTime.Now;
                                objLoginLogRepository.Update(loginlog);
                                objLoginLogRepository.SaveChanges();
                            }
                            var data = ObjUserRepository.GetSingleOrDefault(v => v.UserId == obj.UserId && v.IsDeleted == false);
                            if (data != null)
                            {
                                data.ModifiedBy    = obj.UserId;
                                data.ModifiedDate  = DateTime.UtcNow;
                                data.IdleTimeLimit = Convert.ToDateTime("00:30");
                                ObjUserRepository.Update(data);

                                obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                                obj.DARId           = result;
                                obj.ResponseMessage = CommonMessage.SaveSuccessMessage();
                            }
                        }
                        else
                        {
                            obj.Response        = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                            obj.DARId           = result;
                            obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                        }
                    }
                    else
                    {
                        obj.Response        = Convert.ToInt32(ServiceResponse.InvalidSessionResponse, CultureInfo.CurrentCulture);
                        obj.ResponseMessage = CommonMessage.InvalidUser();
                    }
                }
                else
                {
                    obj.Response        = Convert.ToInt32(ServiceResponse.FailedResponse, CultureInfo.CurrentCulture);
                    obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                }
            }
            catch (Exception)
            { throw; }
            return(obj);
        }
Beispiel #10
0
        /// <summary>Save DAR for Jump Start
        /// <CreatedFor>For Insert Jump Start and GT Tracker</CreatedFor>
        /// <CreatedBy>Bhushan Dod</CreatedBy>
        /// <CreatedOn>March-16-2015</CreatedOn>
        /// </summary>
        /// <param name="objServiceDARModel"></param>
        /// <returns></returns>
        public ServiceDARModel SaveDARDetailsForTracking(ServiceDARModel obj)
        {
            ObjUserRepository = new UserRepository();
            objDARRepository  = new DARRepository();
            try
            {
                if (obj.LocationId > 0 && obj.ServiceAuthKey != null)
                {
                    var authuser = ObjUserRepository.GetSingleOrDefault(x => x.ServiceAuthKey == obj.ServiceAuthKey && x.IsDeleted == false);

                    if (authuser != null && authuser.UserId > 0)
                    {
                        //THIS SECTION FOR ACCEPTING THE FACILITY REQUEST
                        if (obj.FacilityRequest == true)
                        {
                            objWorkRequestAssignmentRepository = new WorkRequestAssignmentRepository();
                            objWork = new WorkRequestAssignmentModel();

                            var workDetails = objWorkRequestAssignmentRepository.GetSingleOrDefault(t => t.WorkRequestAssignmentID == obj.WorkAssignmentID && t.LocationID == obj.LocationId && t.IsDeleted == false);
                            if (workDetails != null && (workDetails.AssignToUserId == null || workDetails.AssignToUserId == 0) && workDetails.StartTime == null)
                            {
                                workDetails.AssignToUserId    = obj.UserId;
                                workDetails.AssignByUserId    = obj.UserId;
                                workDetails.StartTime         = DateTime.UtcNow;
                                workDetails.ModifiedBy        = obj.UserId;
                                workDetails.ModifiedDate      = DateTime.UtcNow;
                                workDetails.WorkRequestStatus = 15;
                                objWorkRequestAssignmentRepository.SaveChanges();
                                obj.ActivityDetails = DarMessage.FacilityRequestAccept(obj.UserName, obj.LocationName);
                                obj.StartTime       = DateTime.UtcNow.ToString();

                                var result = objDARRepository.InsertDARDetailsForTracking(obj);
                                if (result != null && result > 0)
                                {
                                    // obj = null;
                                    obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                                    obj.DARId           = result;
                                    obj.ResponseMessage = CommonMessage.SaveSuccessMessage();
                                }
                                else
                                {
                                    obj.Response        = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                                    obj.DARId           = result;
                                    obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                                }
                            }
                            else
                            {
                                obj.Response        = Convert.ToInt32(ServiceResponse.NoRecord, CultureInfo.CurrentCulture);
                                obj.ResponseMessage = CommonMessage.AlreadyAcceptedFacilityRequest();
                            }
                        }
                        //THIS SECTION FOR DAR ENTRY FOR CUSTOMER CALL
                        if (obj.FacilityRequest == false && obj.StartTime != null && obj.EndTime != null && obj.TaskType == (long)DARTASKTYPECATEGORY.CustomerCall)
                        {
                            if (obj.StartTime != null)
                            {
                                obj.StartTime = DateTime.UtcNow.ToString();
                            }
                            if (obj.EndTime != null)
                            {
                                obj.EndTime = DateTime.UtcNow.ToString();
                            }
                            obj.ActivityDetails = DarMessage.DarCustomerCall(obj.UserName, obj.LocationName, obj.Description);
                            var result = objDARRepository.InsertDARDetailsForTracking(obj);
                            if (result != null && result > 0)
                            {
                                // obj = null;
                                obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                                obj.DARId           = result;
                                obj.ResponseMessage = CommonMessage.SaveSuccessMessage();
                            }
                            else
                            {
                                obj.Response        = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                                obj.DARId           = result;
                                obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                            }
                        }
                        //THIS SECTION FOR DAR ENTRY JUMP START AND END TIME
                        if (obj.FacilityRequest == false && obj.StartTime != null && obj.TaskType == (long)DARTASKTYPECATEGORY.DARType)
                        {
                            if (obj.StartTime != null)
                            {
                                obj.StartTime = DateTime.UtcNow.ToString();
                            }

                            obj.ActivityDetails = DarMessage.DarJumpStartEndTimeStatus(obj.UserName, obj.LocationName, obj.Description);
                            var result = objDARRepository.InsertDARDetailsForTracking(obj);
                            if (result != null && result > 0)
                            {
                                // obj = null;
                                obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                                obj.DARId           = result;
                                obj.ResponseMessage = CommonMessage.SaveSuccessMessage();
                            }
                            else
                            {
                                obj.Response        = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                                obj.DARId           = result;
                                obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                            }
                        }
                        //THIS SECTION FOR DAR ENTRY FOR 18 TO 33 CODE
                        if (obj.FacilityRequest == false && obj.StartTime != null && obj.TaskType == (int)DARTASKTYPECATEGORY.GateRepair ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.CustomerVehicleLocate ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.CustomerJumpStart ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.Customertireinflation ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.CustomerAssistance ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.WorkBreak ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.SpecialProject ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.RoutineChecks ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.SpaceCount ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.LicensePlateInventory ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.Emergency ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.Facilitycleaning ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.FacilitySpillResponse ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.SnowRemoval ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.TicketSpitterRepair ||
                            obj.TaskType == (int)DARTASKTYPECATEGORY.MiscellaneousEvent)
                        {
                            if (obj.StartTime != null)
                            {
                                obj.StartTime = DateTime.UtcNow.ToString();
                            }

                            //obj.ActivityDetails = DarMessage.DarJumpStartEndTimeStatus(obj.UserName, obj.LocationName, obj.Description);
                            var result = objDARRepository.InsertDARDetailsForTracking(obj);
                            if (result != null && result > 0)
                            {
                                // obj = null;
                                obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                                obj.DARId           = result;
                                obj.ResponseMessage = CommonMessage.SaveSuccessMessage();
                            }
                            else
                            {
                                obj.Response        = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                                obj.DARId           = result;
                                obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                            }
                        }
                        //THIS SECTION FOR EMPLOYEE STARTED CR FOR THE DAY AND IF STARTDATE = workDetails.StartDate then update WorkRequestStatus
                        if (obj.FacilityRequest == false && obj.StartTime != null && obj.EndTime == null && obj.TaskType == (long)DARTASKTYPECATEGORY.ContinuousRequestEnd)
                        {
                            if (obj.StartTime != null)
                            {
                                obj.StartTime = DateTime.UtcNow.ToString();
                            }

                            objWorkRequestAssignmentRepository = new WorkRequestAssignmentRepository();
                            objWork = new WorkRequestAssignmentModel();

                            var workDetails = objWorkRequestAssignmentRepository.GetSingleOrDefault(t => t.WorkRequestAssignmentID == obj.WorkAssignmentID && t.LocationID == obj.LocationId && t.IsDeleted == false);

                            if (workDetails != null && workDetails.StartDate != null)
                            {
                                //Not sure about DateTimeNow bcoz if in future change UTC then StartDate save according to UTC
                                if (DateTime.UtcNow.ToShortDateString() == workDetails.StartDate.Value.ToShortDateString())
                                {
                                    workDetails.WorkRequestStatus = 15;
                                    workDetails.StartTime         = DateTime.UtcNow;
                                    workDetails.ModifiedBy        = obj.UserId;
                                    workDetails.ModifiedDate      = DateTime.UtcNow;;
                                    objWorkRequestAssignmentRepository.SaveChanges();
                                }

                                obj.ActivityDetails = DarMessage.CRTaskStart(obj.UserName, obj.LocationName);
                                var result = objDARRepository.InsertDARDetailsForTracking(obj);
                                if (result != null && result > 0)
                                {
                                    // obj = null;
                                    obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                                    obj.DARId           = result;
                                    obj.ResponseMessage = CommonMessage.SaveSuccessMessage();
                                }
                                else
                                {
                                    obj.Response        = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                                    obj.DARId           = result;
                                    obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                                }
                            }
                            else
                            {
                                obj.Response        = Convert.ToInt32(ServiceResponse.NoRecord, CultureInfo.CurrentCulture);
                                obj.ResponseMessage = CommonMessage.AlreadyAcceptedFacilityRequest();
                            }
                        }
                        //THIS SECTION FOR EMPLOYEE ENDED CR FOR THE DAY AND IF ENDDATE = workDetails.EndDate then update WorkRequestStatus
                        if (obj.FacilityRequest == false && obj.EndTime != null && obj.TaskType == (long)DARTASKTYPECATEGORY.ContinuousRequestEnd)
                        {
                            if (obj.EndTime != null)
                            {
                                obj.EndTime = DateTime.UtcNow.ToString();
                            }

                            objWorkRequestAssignmentRepository = new WorkRequestAssignmentRepository();
                            objWork = new WorkRequestAssignmentModel();

                            var workDetails = objWorkRequestAssignmentRepository.GetSingleOrDefault(t => t.WorkRequestAssignmentID == obj.WorkAssignmentID && t.LocationID == obj.LocationId && t.IsDeleted == false);

                            if (workDetails != null && workDetails.EndDate != null)
                            {
                                //Not sure about DateTimeNow bcoz if in future change UTC then StartDate save according to UTC
                                if (DateTime.UtcNow.ToShortDateString() == workDetails.EndDate.Value.ToShortDateString())
                                {
                                    workDetails.WorkRequestStatus = 16;
                                    workDetails.EndTime           = DateTime.UtcNow;
                                    workDetails.ModifiedBy        = obj.UserId;
                                    workDetails.ModifiedDate      = DateTime.UtcNow;;
                                    objWorkRequestAssignmentRepository.SaveChanges();
                                }

                                obj.ActivityDetails = DarMessage.CRTaskEnd(obj.UserName, obj.LocationName);
                                var result = objDARRepository.InsertDARDetailsForTracking(obj);
                                if (result != null && result > 0)
                                {
                                    // obj = null;
                                    obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                                    obj.DARId           = result;
                                    obj.ResponseMessage = CommonMessage.SaveSuccessMessage();
                                }
                                else
                                {
                                    obj.Response        = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                                    obj.DARId           = result;
                                    obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                                }
                            }
                            else
                            {
                                obj.Response        = Convert.ToInt32(ServiceResponse.NoRecord, CultureInfo.CurrentCulture);
                                obj.ResponseMessage = CommonMessage.AlreadyAcceptedFacilityRequest();
                            }
                        }
                    }
                    else
                    {
                        obj.Response        = Convert.ToInt32(ServiceResponse.InvalidSessionResponse, CultureInfo.CurrentCulture);
                        obj.ResponseMessage = CommonMessage.InvalidUser();
                    }
                }
                else
                {
                    obj.Response        = Convert.ToInt32(ServiceResponse.FailedResponse, CultureInfo.CurrentCulture);
                    obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                }
            }
            catch (Exception)
            { throw; }
            return(obj);
        }
Beispiel #11
0
        /// <summary>Save DAR for QRC Type
        /// <CreatedFor>For Insert QRC Type</CreatedFor>
        /// <CreatedBy>Bhushan Dod</CreatedBy>
        /// <CreatedOn>Feb-13-2015</CreatedOn>
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public ServiceDARModel SaveDARDetails(ServiceDARModel obj)
        {
            ObjUserRepository = new UserRepository();
            objDARRepository  = new DARRepository();
            try
            {
                if (obj.LocationId > 0 && obj.ServiceAuthKey != null)
                {
                    var authuser = ObjUserRepository.GetSingleOrDefault(x => x.ServiceAuthKey == obj.ServiceAuthKey && x.IsDeleted == false);

                    if (authuser != null && authuser.UserId > 0 && obj.TaskType != 280)
                    {
                        //obj.ActivityDetails = DarMessage.QrcVehicleCleaning(obj.UserName);
                        var result = objDARRepository.SaveDARDetails(obj);
                        if (result != null && result > 0)
                        {
                            obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                            obj.DARId           = result;
                            obj.ResponseMessage = CommonMessage.SaveSuccessMessage();
                        }
                        else
                        {
                            obj.Response        = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                            obj.DARId           = result;
                            obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                        }
                    }
                    else if (authuser != null && authuser.UserId > 0 && obj.TaskType == 280)
                    {
                        obj.ActivityDetails = DarMessage.ShiftEnd(obj.UserName);
                        var result = objDARRepository.SaveDARDetails(obj);

                        if (result != null && result > 0)
                        {
                            var data = ObjUserRepository.GetSingleOrDefault(v => v.UserId == obj.UserId && v.IsDeleted == false);
                            if (data != null)
                            {
                                data.ModifiedBy    = obj.UserId;
                                data.ModifiedDate  = DateTime.UtcNow;
                                data.IdleTimeLimit = Convert.ToDateTime("00:30");
                                ObjUserRepository.Update(data);

                                obj.Response        = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture);
                                obj.DARId           = result;
                                obj.ResponseMessage = CommonMessage.SaveSuccessMessage();
                            }
                        }
                        else
                        {
                            obj.Response        = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture);
                            obj.DARId           = result;
                            obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                        }
                    }
                    else
                    {
                        obj.Response        = Convert.ToInt32(ServiceResponse.InvalidSessionResponse, CultureInfo.CurrentCulture);
                        obj.ResponseMessage = CommonMessage.InvalidUser();
                    }
                }
                else
                {
                    obj.Response        = Convert.ToInt32(ServiceResponse.FailedResponse, CultureInfo.CurrentCulture);
                    obj.ResponseMessage = CommonMessage.WrongParameterMessage();
                }
            }
            catch (Exception)
            { throw; }
            return(obj);
        }