コード例 #1
0
        public IActionResult PutAddress(int id, int workDescriptionId, [FromBody] WorkDescriptionViewModel workDescription)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            WorkDescription _workDescriptionDb = _workDescriptionRepository.GetSingle(workDescriptionId);

            if (_workDescriptionDb == null)
            {
                return(NotFound());
            }
            else
            {
                _workDescriptionDb.WorkType = (WorkType)Enum.Parse(typeof(WorkType), workDescription.WorkType);
                _workDescriptionDb.Revenue  = workDescription.Revenue;
                _workDescriptionRepository.Commit();
            }

            workDescription = Mapper.Map <WorkDescription, WorkDescriptionViewModel>(_workDescriptionDb);

            return(new NoContentResult());
        }
コード例 #2
0
        public ActionResult CreateProjectWorkDescription(WorkDescription model)
        {
            model.OrganizationId = OrganizationId;
            model.CreatedDate    = System.DateTime.Now;
            model.CreatedBy      = UserID.ToString();
            var result = new WorkDescriptionRepository().InsertProjectWorkDescription(model);



            if (result.WorkDescriptionId > 0)
            {
                TempData["Success"] = "Added Successfully!";
                TempData["WorkDescriptionRefNo"] = result.WorkDescriptionRefNo;
                return(RedirectToAction("CreateProjectWorkDescription"));
            }
            else
            {
                FillVehicle();
                FillBox();
                FillFreezerUnit();
                FillItem();
                FillJobCardTaskMaster();
                WorkDescription workdescription = new WorkDescription();
                workdescription.WorkVsItems.Add(new WorkVsItem());
                workdescription.WorkVsTasks.Add(new WorkVsTask());

                TempData["error"] = "Oops!!..Something Went Wrong!!";
                TempData["RefNo"] = null;
                return(View("CreateProjectWorkDescription", model));
            }
        }
コード例 #3
0
        public IActionResult CreateWorkDescription(int id, [FromBody] WorkDescriptionViewModel workDescription)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Job             _jobDb = _jobRepository.GetSingle(id);
            WorkDescription _newWorkDescription;

            if (_jobDb == null)
            {
                return(NotFound());
            }
            else
            {
                _newWorkDescription = new WorkDescription
                {
                    WorkType = (WorkType)Enum.Parse(typeof(WorkType), workDescription.WorkType),
                    Revenue  = workDescription.Revenue,
                    JobId    = id
                };
            }
            _workDescriptionRepository.Add(_newWorkDescription);
            _workDescriptionRepository.Commit();

            workDescription = Mapper.Map <WorkDescription, WorkDescriptionViewModel>(_newWorkDescription);

            CreatedAtRouteResult result = CreatedAtRoute("GetJobWorkDescription", new { controller = "Jobs", id });

            return(result);
        }
コード例 #4
0
        public ActionResult EditWorkDescription(WorkDescription model)
        {
            FillVehicle();
            FillBox();
            FillFreezerUnit();
            FillItem();
            FillJobCardTaskMaster();

            ViewBag.Title        = "Edit";
            model.OrganizationId = OrganizationId;
            model.CreatedDate    = System.DateTime.Now;
            model.CreatedBy      = UserID.ToString();

            var repo = new WorkDescriptionRepository();

            var result1 = new WorkDescriptionRepository().CHECK(model.WorkDescriptionId);

            if (result1 > 0)
            {
                TempData["error"] = "Sorry!!..Already Used!!";
                TempData["WorkDescriptionRefNo"] = null;
                return(View("Edit", model));
            }

            else
            {
                try
                {
                    var result3 = new WorkDescriptionRepository().DeleteWorkDescriptionTask(model.WorkDescriptionId);
                    var result2 = new WorkDescriptionRepository().DeleteWorkDescriptionItem(model.WorkDescriptionId);
                    var result4 = new WorkDescriptionRepository().DeleteWorkDescriptionHD(model.WorkDescriptionId, UserID.ToString());
                    //string id = new WorkDescriptionRepository().InsertWorkDescription(model);
                    var result = new WorkDescriptionRepository().InsertWorkDescription(model);
                    if (result.WorkDescriptionId > 0)
                    {
                        TempData["success"] = "Updated successfully!";
                        TempData["WorkDescriptionRefNo"] = result.WorkDescriptionRefNo;
                        return(RedirectToAction("Index"));
                        //return View("Edit", model);
                    }
                    else
                    {
                        throw new Exception();
                    }
                }
                catch (SqlException sx)
                {
                    TempData["error"] = "Some error occured while connecting to database. Please check your network connection and try again.|" + sx.Message;
                }
                catch (NullReferenceException nx)
                {
                    TempData["error"] = "Some required data was missing. Please try again.|" + nx.Message;
                }
                catch (Exception ex)
                {
                    TempData["error"] = "Some error occured. Please try again.|" + ex.Message;
                }
                return(RedirectToAction("Index"));
            }
        }
コード例 #5
0
 public EditFileDesViewModel(WorkDescription _WorkDescription)
 {
     //构造函数
     workDescription = _WorkDescription;
     Title           = "修改工作描述";
     SelectType      = GetWorkDesType(workDescription.WorkDescriptionTypeGuid);
 }
コード例 #6
0
        public WorkDescription InsertWorkDescription(WorkDescription objWorkDescription)
        {
            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                //var result = new WorkDescription();
                IDbTransaction trn = connection.BeginTransaction();
                string         sql = @"insert  into WorkDescription(WorkDescriptionRefNo,VehicleModelId,FreezerUnitId,BoxId,
                               WorkDescr,WorkDescrShortName,isNewInstallation,isRepair,isSubAssembly,isProjectBased,CreatedBy,CreatedDate,OrganizationId) 
                               Values (@WorkDescriptionRefNo,@VehicleModelId,@FreezerUnitId,@BoxId,@WorkDescr,@WorkDescrShortName,@isNewInstallation,
                               @isRepair,@isSubAssembly,0,@CreatedBy,@CreatedDate,@OrganizationId);
                               SELECT CAST(SCOPE_IDENTITY() as int)";

                try
                {
                    int internalid = DatabaseCommonRepository.GetInternalIDFromDatabase(connection, trn, typeof(WorkDescription).Name, "0", 1);
                    objWorkDescription.WorkDescriptionRefNo = "WD/" + internalid;
                    var id = connection.Query <int>(sql, objWorkDescription, trn).Single();

                    var worksitemrepo = new WorkVsItemRepository();
                    foreach (var item in objWorkDescription.WorkVsItems)
                    {
                        if (item.ItemId == 0 || item.Quantity == 0)
                        {
                            continue;
                        }
                        item.WorkDescriptionId = id;
                        item.CreatedBy         = objWorkDescription.CreatedBy;
                        item.CreatedDate       = objWorkDescription.CreatedDate;
                        worksitemrepo.InsertWorkVsItem(item, connection, trn);
                    }


                    var workstaskepo = new WorkVsTaskRepository();
                    foreach (var item in objWorkDescription.WorkVsTasks)
                    {
                        if (item.JobCardTaskMasterId == 0)
                        {
                            continue;
                        }
                        item.WorkDescriptionId = id;
                        item.CreatedBy         = objWorkDescription.CreatedBy;
                        item.CreatedDate       = objWorkDescription.CreatedDate;
                        workstaskepo.InsertWorkVsTask(item, connection, trn);
                    }

                    objWorkDescription.WorkDescriptionId = id;
                    InsertLoginHistory(dataConnection, objWorkDescription.CreatedBy, "Create", "Work Description", id.ToString(), "0");
                    trn.Commit();
                }
                catch (Exception ex)
                {
                    trn.Rollback();
                    objWorkDescription.WorkDescriptionId    = 0;
                    objWorkDescription.WorkDescriptionRefNo = null;
                }
                return(objWorkDescription);
            }
        }
コード例 #7
0
        public override void InitData()
        {
            workDescription = new WorkDescription()
            {
                GuidId = Guid.NewGuid().ToString(),

                UserGuidId = GlobalData.GetInstance().UserInfo.GuidId
            };
            GetWorkDescriptionTypeList();
        }
コード例 #8
0
        public int UpdateWorkDescription(WorkDescription objWorkDescription)
        {
            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                string sql = @"UPDATE WorkDescription SET VehicleModelId = @VehicleModelId ,FreezerUnitId = @FreezerUnitId ,BoxId = @BoxId ,WorkDescr = @WorkDescr,WorkDescrShortName= @WorkDescrShortName,CreatedBy = @CreatedBy,CreatedDate = @CreatedDate  OUTPUT INSERTED.WorkDescriptionId  WHERE WorkDescriptionId = @WorkDescriptionId";

                var id = connection.Execute(sql, objWorkDescription);
                InsertLoginHistory(dataConnection, objWorkDescription.CreatedBy, "Update", "Work Description", id.ToString(), "0");
                return(id);
            }
        }
コード例 #9
0
        protected void WorkerInitialization(WorkItemType itemType, string itemsDefinitionKey)
        {
            Guard.AssertNotNullOrEmptyString(itemsDefinitionKey);
            Guard.AssertNotNull(this.SnapshotRepository);

            WorkDescription w = new WorkDescription(this.SnapshotRepository, itemType);

            w.AccessToken = this.Configuration[WorkerApplication.TokenVariableName];
            if (string.IsNullOrEmpty(w.AccessToken))
            {
                throw new InvalidOperationException(string.Format("{0} not available via appsettings or environment variable", TokenVariableName));
            }

            w.Items = this.Configuration.GetStringArrayFromConfiguration(itemsDefinitionKey, false, this.Logger);

            w.Channels = this.Configuration.DefineChannels(this.Logger);

            string fromEmail = string.Format("{0}", this.Configuration["eMail.From"]);

            if (string.IsNullOrEmpty(fromEmail))
            {
                throw new InvalidOperationException("eMail.From not defined in appsettings");
            }
            fromEmail = System.Environment.ExpandEnvironmentVariables(fromEmail);
            if (string.IsNullOrEmpty(fromEmail))
            {
                throw new InvalidOperationException("eMail.From empty afer ExpandEnvironmentVariables");
            }


            NotificationAddress fromAddress = new NotificationAddress()
            {
                Identifier = fromEmail
            };

            base.Logger.LogTrace("eMail.From={0}", fromEmail);

            string[] to = this.Configuration.GetStringArrayFromConfiguration("eMail.To", true, this.Logger);
            List <NotificationAddress> toAddresses = new List <NotificationAddress>();

            foreach (string value in to)
            {
                toAddresses.Add(new NotificationAddress()
                {
                    Identifier = value
                });
            }

            w.From           = fromAddress;
            w.To             = toAddresses.ToArray();
            this.CurrentWork = w;
        }
コード例 #10
0
        public ActionResult CreateProjectWorkDescription()
        {
            FillItem();
            FillJobCardTaskMaster();
            WorkDescription workdescription = new WorkDescription();

            workdescription.WorkDescriptionRefNo = "WD/" + DatabaseCommonRepository.GetNextRefNoWithNoUpdate(typeof(WorkDescription).Name);
            workdescription.isNewInstallation    = true;
            workdescription.isProjectBased       = true;
            workdescription.WorkVsItems.Add(new WorkVsItem());
            workdescription.WorkVsTasks.Add(new WorkVsTask());
            return(View("CreateWorkDescription", workdescription));
        }
コード例 #11
0
        public IActionResult DeleteWorkDescription(int workDescriptionId)
        {
            WorkDescription _workDescriptionDb = _workDescriptionRepository.GetSingle(workDescriptionId);

            if (_workDescriptionDb == null)
            {
                return(new NotFoundResult());
            }
            else
            {
                _workDescriptionRepository.Delete(_workDescriptionDb);

                _workDescriptionRepository.Commit();

                return(new NoContentResult());
            }
        }
コード例 #12
0
        public static int HandleWork <T>(IConsole console, WorkDescription currentWork, ILogger logger, Func <WorkDescription, string, IEvent[]> callback) where T : IEvent
        {
            Guard.ArgumentNotNull(currentWork, nameof(currentWork));
            Guard.ArgumentNotNull(logger, nameof(logger));
            Guard.ArgumentNotNull(currentWork.Channels, "currentWork.Channels");

            List <IEvent> FullList = new List <IEvent>();
            List <Task <Tuple <IEvent[], TimeSpan> > > TaskList = new List <Task <Tuple <IEvent[], TimeSpan> > >();
            List <Task> continuations = new List <Task>();

            foreach (string item in currentWork.Items)
            {
                lock (console)
                {
                    console.WriteLine(string.Format("  {0} Task started...", item), null, null);
                }

                Task <Tuple <IEvent[], TimeSpan> > task = Task.Factory.StartNew <Tuple <IEvent[], TimeSpan> >(() =>
                {
                    Stopwatch sw = Stopwatch.StartNew();
                    IEvent[] ev  = callback(currentWork, item);
                    sw.Stop();
                    return(new Tuple <IEvent[], TimeSpan>(ev, sw.Elapsed));
                });

                Task ct = task.ContinueWith((prec) =>
                {
                    lock (console)
                    {
                        console.WriteLine(string.Format("  {0} Task completed", item), null, null);
                        console.WriteLine(string.Format("    {0} Events identified in {1}ms", prec.Result.Item1.Length, Convert.ToInt64(prec.Result.Item2.TotalMilliseconds)), null, null);
                    }
                }, TaskContinuationOptions.NotOnFaulted);
                TaskList.Add(task);
                continuations.Add(ct);
            }

            Task.WaitAll(TaskList.ToArray());
            Task.WaitAll(continuations.ToArray());

            NotificationBuilder nbuilder = new NotificationBuilder().UseHtmlRenderer();

            //Date Hierarchy (Year/Month/Day) created by Blogger, we must only provide a meaningfull subject

            string itemsAsString = string.Join(",", currentWork.Items);

            nbuilder.UseSubject(string.Format("{0} {1}", itemsAsString, Pluralize(currentWork.ItemType.ToString())));

            foreach (Task <Tuple <IEvent[], TimeSpan> > t in TaskList)
            {
                nbuilder.AddEvents(t.Result.Item1);
            }

            if (nbuilder.HasEvents == false)
            {
                console.WriteLine("Now changes found", null, null);
                return(0); //NO NOTIFICATION required!
            }
            nbuilder.AddChannels(currentWork.Channels);
            Notification noti = nbuilder.Build();

            noti.From = currentWork.From;
            noti.To   = currentWork.To;

            Postman.DeliverNotification(new Notification[] { noti });
            console.WriteLine("", null, null);
            console.WriteLine(string.Format("{0} changes delivered", nbuilder.EventCount), null, null);
            return(0);
        }
コード例 #13
0
ファイル: Contact.cs プロジェクト: mingslogar/dimension4
        /// <summary>
        /// Gets if this contact matches any word in a specified query.
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public bool MatchesQueryAnyWord(string[] query)
        {
            string name    = Name.ToString().ToLower();
            string work    = WorkDescription.ToLower();
            string gender  = _gender.ToString();
            string details = Notes.StripWhitespace();

            Email[]       email   = Emails;
            Website[]     website = Websites;
            PhoneNumber[] phone   = PhoneNumbers;
            Address[]     address = Addresses;
            IM[]          im      = IM;
            SpecialDate[] date    = SpecialDates;

            foreach (string q in query)
            {
                if (name.Contains(q))
                {
                    return(true);
                }

                if (work.Contains(q))
                {
                    return(true);
                }

                if (gender.Contains(q))
                {
                    return(true);
                }

                if (details.Contains(q))
                {
                    return(true);
                }

                if (email != null)
                {
                    foreach (Email em in email)
                    {
                        if (em.Address.ToLower().Contains(q))
                        {
                            return(true);
                        }
                    }
                }

                if (website != null)
                {
                    foreach (Website ws in website)
                    {
                        if (ws.Url.ToLower().Contains(q))
                        {
                            return(true);
                        }
                    }
                }

                if (phone != null)
                {
                    foreach (PhoneNumber pn in phone)
                    {
                        if (pn.Number.ToLower().Contains(q))
                        {
                            return(true);
                        }
                    }
                }

                if (address != null)
                {
                    foreach (Address ad in address)
                    {
                        if (ad.ToString().ToLower().Contains(q))
                        {
                            return(true);
                        }
                    }
                }

                if (im != null)
                {
                    foreach (IM i in im)
                    {
                        if (i.Address.ToLower().Contains(q))
                        {
                            return(true);
                        }
                    }
                }

                if (date != null)
                {
                    foreach (SpecialDate sd in date)
                    {
                        if (sd.Date.ToString("MMMM d yyyy").ToLower().Contains(q))
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }